【发布时间】:2012-10-27 03:54:33
【问题描述】:
我有表 A、B 和 C。现在表A作为列A1(主键),表B有列B1(主键)和表C有列A1(表的外键A.A1),@987654331 @(表的外键B.B1)。
现在我正在编写一个查询,其中列出了来自 A 和 B 的所有行以及一个位列,如果在表 C 中找到匹配的行,则该位列将设置为 1,否则为 0。
SELECT
ISNULL((SELECT CAST(1 AS BIT)
FROM C
WHERE C.A1 = A.A1 AND C.B1 = B.B1),0) AS [TAG],
A.A1,
B.B1
FROM A CROSS JOIN B
即使在组合 A1 和 B1 列后查询没有重复行,此查询也会产生 Subquery returned more than 1 value. 错误。
【问题讨论】:
-
单独发布子查询的结果
标签: sql sql-server-2008 tsql subquery cross-join