SQL服务器:与选择的情况下选择语句嵌套
问题描述:
我有两个表SQL服务器:与选择的情况下选择语句嵌套
- 表1中,列:A,B,C
- 表2中,列:A,d,E
我想从表1中选择全部,并添加一个附加字段。
如果在table_2.A中存在字符串列table_1.A的内容,则为TRUE,否则为FALSE。
我很想告诉你我试过的东西,但没有什么可以接近。我可以用SELECT CASE语句来做到这一点,但我无法弄清楚如何同时选择全部。
感谢
答
使用CASE
SELECT
table1.A,
table1.B,
table1.C,
CASE WHEN table2.A IS NULL THEN 'FALSE' ELSE 'TRUE' END
FROM
table1
LEFT OUTER JOIN
table2
ON table1.A = table2.A
答
你需要一个左外连接并使用的情况下比较这两个表时columnab不为空,那么真,否则返回false尝试
答
这在Table1中每个记录只会有一行。
SELECT Table1.*,
ISNULL([Found],'False') [Found]
FROM Table1
OUTER APPLY (
SELECT TOP 1
'True' AS [Found]
FROM Table2
WHERE Table2.A LIKE '%' + Table1.A + '%'
)
你的意思是,如果Table1.A的文本是Table2.A的文本任何你想要的字“真”或你想从表2的东西包括在内? – n8wrl
是的,我不需要表2中的任何东西。我已经标记了适合我的答案。 考虑它是这样的:表1 =产品清单和表格2 =清单清单。所以这个查询会给股票的任何东西一个TRUE,并且对任何股票都是FALSE。希望这是有道理的。 – stevo22