Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
的SQL选择id和输出存在于单个SQL查询中_Sql - Fatal编程技术网

的SQL选择id和输出存在于单个SQL查询中

的SQL选择id和输出存在于单个SQL查询中,sql,Sql,我有两个表,主键(A.Id),外键(EquipmentKey)引用在两个表A和B之间。现在我希望结果像A.Id一样,不管它是否存在于B中 这就是我正在尝试的问题。单次查询是否容易实现? 下面的查询不起作用。我收到错误T。找不到Id select A.Id, ExistsInB = CASE WHEN EXISTS(SELECT 1 FROM B WHERE EquipmentKey = A.Id) THEN 1

我有两个表,主键(A.Id),外键(EquipmentKey)引用在两个表A和B之间。现在我希望结果像A.Id一样,不管它是否存在于B中

这就是我正在尝试的问题。单次查询是否容易实现? 下面的查询不起作用。我收到错误T。找不到Id

select 
    A.Id,
    ExistsInB = CASE 
                    WHEN EXISTS(SELECT 1 FROM B WHERE EquipmentKey = A.Id) THEN 1
                    ELSE 0
                END 
from A 

这是一个单一的查询。带有子查询的查询仍作为单个“复杂”查询处理。您是否询问我们您的查询是否有效?你没试过吗?是的。但它不起作用。I Get T T。即使列存在,也找不到Id列。您没有名为T的表。只有A和B。您从未指定过表
T
,只有
A
B
这仅在DBMS支持布尔值和
B时有效。EquipmentKey
是您必须添加的FK
DISTINCT
SELECT A.Id, (B.EquipmentKey IS NOT NULL) AS ExistsInB
FROM A LEFT OUTER JOIN B ON (A.Id = B.EquipmentKey)