34,873
社区成员
发帖
与我相关
我的任务
分享if object_id('a') is not null drop table a
create table a(ID int,列1 int, 列2 int)
insert a
select 1,1,1 union all
select 2,2,2 union all
select 3,3,3 union all
select 4,4,4 union all
select 5,5,5
if object_id('b') is not null drop table b
create table b (ID int,列1 int, 列2 int)
insert b
select 1,1,1 union all
select 2,2,1 union all
select 3,3,1 union all
select 4,4,2 union all
select 5,5,2
SELECT A.*,C=(CASE WHEN EXISTS(SELECT 1 FROM B WHERE A.ID=B.列1 AND B.列2=1) THEN 'TRUE' ELSE 'FALSE' END)
FROM A
ID 列1 列2 C
----------- ----------- ----------- -----
1 1 1 TRUE
2 2 2 TRUE
3 3 3 TRUE
4 4 4 FALSE
5 5 5 FALSE
(5 行受影响)
[Quote=引用 10 楼 feixianxxx 的回复:]
SQL code
if object_id('a') is not null drop table a
create table a(ID int,列1 int, 列2 int)
insert a
select 1,1,1
union all select 2,2,2
union all select 3,3,3
union all select 4,4,4
union all select 5,5,5
if object_id('b') is not null drop table b
create table b (ID int,列1 int, 列2 int)
insert b
select 1,1,1
union all select 2,2,1
union all select 3,3,1
union all select 4,1,2
…
[/Quote]
if object_id('a') is not null drop table a
create table a(ID int,列1 int, 列2 int)
insert a
select 1,1,1
union all select 2,2,2
union all select 3,3,3
union all select 4,4,4
union all select 5,5,5
if object_id('b') is not null drop table b
create table b (ID int,列1 int, 列2 int)
insert b
select 1,1,1
union all select 2,2,1
union all select 3,3,1
union all select 4,1,2
union all select 5,2,2
SELECT A.*,CASE WHEN EXISTS(SELECT 1 FROM B WHERE A.ID=B.列1) THEN 'TRUE' ELSE 'FALSE' END AS 'C'
FROM A
/*
1 1 1 TRUE
2 2 2 TRUE
3 3 3 TRUE
4 4 4 FALSE
5 5 5 FALSE */
select a.*,case when b.列2 is null then 'trun' else 'false' end as C
from a left join b on a.id=B.列2
DECLARE @TA TABLE([ID] INT, [列1] INT, [列2] INT)
INSERT @TA
SELECT 1, 1, 1 UNION ALL
SELECT 2, 2, 2 UNION ALL
SELECT 3, 3, 3 UNION ALL
SELECT 4, 4, 4 UNION ALL
SELECT 5, 5, 5
DECLARE @TB TABLE([ID] INT, [列1] INT, [列2] INT)
INSERT @TB
SELECT 1, 1, 1 UNION ALL
SELECT 2, 2, 1 UNION ALL
SELECT 3, 3, 1 UNION ALL
SELECT 4, 1, 2 UNION ALL
SELECT 5, 2, 2
declare @a int
set @a=1
select A.ID,列1,列2,c from @TA A, (select row_number() over (order by getdate()) id,case when 列2=@a then 'true' else 'false' end c from @tb) tmp where A.id=tmp.id
ID 列1 列2 c
----------- ----------- ----------- -----
1 1 1 true
2 2 2 true
3 3 3 true
4 4 4 false
5 5 5 false
(5 行受影响)
DECLARE @TA TABLE([ID] INT, [列1] INT, [列2] INT)
INSERT @TA
SELECT 1, 1, 1 UNION ALL
SELECT 2, 2, 2 UNION ALL
SELECT 3, 3, 3 UNION ALL
SELECT 4, 4, 4 UNION ALL
SELECT 5, 5, 5
DECLARE @TB TABLE([ID] INT, [列1] INT, [列2] INT)
INSERT @TB
SELECT 1, 1, 1 UNION ALL
SELECT 2, 2, 1 UNION ALL
SELECT 3, 3, 1 UNION ALL
SELECT 4, 1, 2 UNION ALL
SELECT 5, 2, 2
SELECT A.*,CASE WHEN A.[列1]=B.[列1] THEN 'true' ELSE 'false' END AS C
FROM @TA AS A LEFT JOIN (SELECT * FROM @TB WHERE 列2=1) AS B
ON A.[列1]=B.[列1]
/*
ID 列1 列2 C
----------- ----------- ----------- -----
1 1 1 true
2 2 2 true
3 3 3 true
4 4 4 false
5 5 5 false
*/
SELECT A.*,CASE WHEN EXISTS(SELECT 1 FROM B WHERE A.ID=B.列1) THEN 'TRUE' ELSE 'FALSE' END AS 'C'
FROM Aselect a.*,case when b.列2 is null then 'trun' else 'false' end as C
from a left join b on a.id=B.列2