表1字段
ID CID NAME Title BBB CCC
表2字段
ID MID CCDATA CCTIME
表1中的“ID”内容有部分与表2中的“MID”相同。
我的要求是:我要显示表1中的“Title”内容,但若表1的“ID”里面的内容在表2的“MID”中查找不到的话,就在其“Title”后显示文本“NO”,若表1的“ID”里面的内容在表2的“MID”中有相同的,就在其“Title”后显示文本“YES”;请高手帮忙。谢谢。
------解决方案--------------------
如果T2中可能有多条MID与T1的ID匹配,有两种写法,第一种适合大批量输出,第二种适合小批量输出。
- SQL code
SELECT T1.TITLE+'['+CASE WHEN T2.ID IS NOT NULL THEN 'YES' ELSE 'NO' END)+']'FROM [表1] T1LEFT JOIN ( SELECT MID,MAX(ID) AS IDFROM [表2]GROUP BY MID) T2 ON T1.ID=T2.MID
------解决方案--------------------
- SQL code
select a.title + case when b.id is not null then 'yes' else 'no' endfrom 表1 a left join 表2 bon a.id=b.mid
------解决方案--------------------
- SQL code
select title+(case when exists(select 1 from 表2 where mid=a.id) then 'yes' else 'no' end)from 表1 a