一个sql的基础查询问题

tony_198642 2010-01-20 01:26:31
已有两个结果集
A B
1 1
2 1
3 1

A C
1 1
4 1

我想查询出以下结果集

A B C
1 1 1
2 1 0
3 1 0
...全文
130 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jdhlowforever 2010-01-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 josy 的回复:]
SQL codeselect a.*,isnull(b.c,0)as cfrom ta aleftjoin tb bon a.a=b.a
[/Quote]

select a.*,isnull(b,c,0) as c from ta a left join tb b on a.a=b.a
cxmcxm 2010-01-21
  • 打赏
  • 举报
回复
--设两表名为t1,t2
select t1.a,t1.b,isnull(t2.c,0) as C
from T1 left join T2 on t1.a=t2.a
ben_key01 2010-01-21
  • 打赏
  • 举报
回复

declare @t TABLE (A VARCHAR(1),B INT)

INSERT INTO @t
SELECT '1',1
UNION ALL
SELECT '2',1
UNION ALL
SELECT '3',1


declare @t1 TABLE (A1 VARCHAR(1),c INT)

INSERT INTO @t1
SELECT '1',1
UNION ALL
SELECT '4',1


SELECT a,b, isnull(c,0) c FROM @t LEFT JOIN @t1 ON a=a1
h821291419 2010-01-20
  • 打赏
  • 举报
回复
楼上的真的忒快啊
Mr_Nice 2010-01-20
  • 打赏
  • 举报
回复
...
ws_hgo 2010-01-20
  • 打赏
  • 举报
回复
if object_id('tempdb.dbo.#TB') is not null drop table #TB
go
create table #TB([A] int,[B] int)
insert #TB
select 1,1 union all
select 2,1 union all
select 3,1
--> 测试数据:#TB1
if object_id('tempdb.dbo.#TB1') is not null drop table #TB1
go
create table #TB1([A] int,[C] int)
insert #TB1
select 1,1 union all
select 4,1


select A.*,isnull(B.[C],0) C from #TB A left join #TB1 B on A.[A]=B.[A]
A B C
----------- ----------- -----------
1 1 1
2 1 0
3 1 0
-狙击手- 2010-01-20
  • 打赏
  • 举报
回复
joy
SQL77 2010-01-20
  • 打赏
  • 举报
回复
----------------------------------------------------------------
-- Author :SQL77(只为思齐老)
-- Date :2010-01-20 13:29:19
-- Version:
-- Microsoft SQL Server 2000 - 8.00.194 (Intel X86)
-- Aug 6 2000 00:57:48
-- Copyright (c) 1988-2000 Microsoft Corporation
-- Desktop Engine on Windows NT 5.1 (Build 2600: Service Pack 3)
--
----------------------------------------------------------------
--> 测试数据:#TB
if object_id('tempdb.dbo.#TB') is not null drop table #TB
go
create table #TB([A] int,[B] int)
insert #TB
select 1,1 union all
select 2,1 union all
select 3,1
--> 测试数据:#TB1
if object_id('tempdb.dbo.#TB1') is not null drop table #TB1
go
create table #TB1([A] int,[C] int)
insert #TB1
select 1,1 union all
select 4,1
--------------开始查询--------------------------

select A.A,A.B,ISNULL(B.C,0)C from #TB A LEFT JOIN #TB1 B ON A.A=B.A

----------------结果----------------------------
/*

(所影响的行数为 3 行)


(所影响的行数为 2 行)

A B C
----------- ----------- -----------
1 1 1
2 1 0
3 1 0

(所影响的行数为 3 行)


*/
--小F-- 2010-01-20
  • 打赏
  • 举报
回复
select
a.*,isnull(b.c,0) as c
from
a left join b
on
a.a=b.a
百年树人 2010-01-20
  • 打赏
  • 举报
回复
select a.*,isnull(b.c,0) as c
from ta a
left join tb b
on a.a=b.a

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧