SQL Server:选择语句嵌套

时间:2016-04-27 19:10:10

标签: sql-server

我有两张桌子

  • 表1,栏目:A,B,C
  • 表2,栏目:A,D,E

我想从表1中选择所有添加了附加字段的内容。

如果table_2.A中存在字符串列table_1.A的内容,则为TRUE,否则为FALSE。

我很想告诉你我的尝试,但没有什么可以接近的。我可以使用SELECT CASE语句执行此操作,但我无法弄清楚如何同时选择所有语句。

谢谢

4 个答案:

答案 0 :(得分:1)

SELECT T1.*, IIF(T2.D IS NULL, 'FALSE', 'TRUE')
  FROM Table1 T1
  LEFT JOIN Table2 T2 ON T2.A LIKE '%' + T1.A + '%'

答案 1 :(得分:1)

尝试使用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

答案 2 :(得分:0)

你需要一个左外连接,他们使用columnab不为null时的情况比较两个表然后为true,否则为false

答案 3 :(得分:0)

这将使表1中的每条记录只有一行。

SELECT  Table1.*, 
        ISNULL([Found],'False') [Found]
FROM    Table1
        OUTER APPLY (
            SELECT TOP 1
                    'True' AS [Found]
            FROM    Table2
            WHERE   Table2.A LIKE '%' + Table1.A + '%'
        )