Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.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
Tsql 在T-SQL中获取子查询的当前记录_Tsql - Fatal编程技术网

Tsql 在T-SQL中获取子查询的当前记录

Tsql 在T-SQL中获取子查询的当前记录,tsql,Tsql,我试图从表“Table1”中选择所有记录,但我需要一个名为“HasException”的新列,该列包含“0”或“1”。如果与“Table2”中的当前Id匹配的行数等于0,则“HasException”必须为“0”,否则返回1 以下是我到目前为止所做的,但它不起作用: SELECT *, CONVERT(bit, (CASE WHEN (SELECT count(Id) FROM Table2 WHERE Table1.Id=Table2.Id) = 0 THEN 0 ELSE 1 END)) A

我试图从表“Table1”中选择所有记录,但我需要一个名为“HasException”的新列,该列包含“0”或“1”。如果与“Table2”中的当前Id匹配的行数等于0,则“HasException”必须为“0”,否则返回1

以下是我到目前为止所做的,但它不起作用:

SELECT *,
CONVERT(bit, (CASE WHEN (SELECT count(Id) FROM Table2 WHERE Table1.Id=Table2.Id) = 0 THEN 0 ELSE 1 END)) AS HasException
FROM Table1

也许是,假设你指的是表2

SELECT *,
   CAST(CASE WHEN COUNT(table2.id) = 0 THEN 0 ELSE 1 END AS bit) AS HasException
FROM
   Table1
   LEFT JOIN
   Table2 ON Table1.Id=Table2.Id
GROUP BY
   Table1.id

在比较以下两个值之前,您希望联接表(并按ID分组):

SELECT  dbo.Table_1.*,
    CASE WHEN COUNT(dbo.Table_2.ID) = 0 THEN
        0
    ELSE
        1
    END
    AS HasException
FROM         dbo.Table_1 LEFT OUTER JOIN
                      dbo.Table_2 ON dbo.Table_1.ID = dbo.Table_2.ID
GROUP BY dbo.Table_1.ID

代码中有table2,但描述中没有。是的,当table2.ID中有超过0行与当前Table1.ID匹配时,我想显示1。
select  
  T1.*,
  case when T2.Id is null then 0 else 1 end as HasException
from Table1 as T1
  left outer join 
    (
      select distinct Id
      from Table2
    ) as T2
    on T1.Id = T2.Id