一个sql语句的写法

y63964632 2010-02-26 02:42:15
表a
id int
content varchar(200)
flag int

表b

id int
userID int
tel varchar(10)
flag int

insert into a values(1,'Nice to Meet you!',0)

insert into b values(1,123,'13812345678',0)
insert into b values(2,124,'13912345678',0)
insert into b values(3,125,'13712345678',0)

要求得到结果

13812345678 Nice to Meet you!
13912345678 Nice to Meet you!
13712345678 Nice to Meet you!

但是如果 表中flag都为1 则无结果

例如:

insert into a values(1,'Nice to Meet you!',1)

insert into b values(1,123,'13812345678',0)
insert into b values(2,124,'13912345678',0)
insert into b values(3,125,'13712345678',0)

查询无结果

insert into a values(1,'Nice to Meet you!',0)

insert into b values(1,123,'13812345678',1)
insert into b values(2,124,'13912345678',0)
insert into b values(3,125,'13712345678',0)

结果只有俩条

13912345678 Nice to Meet you!
13712345678 Nice to Meet you!

我这么写了

SELECT b.tel,content
FROM a left JOIN
b on a.flag=0 and b.flag =0

但是 如果 a表的flag为1以后 还是有一条这样的结果

null Nice to meet you!

应该怎么写比较合理呢?

...全文
129 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
快乐_石头 2010-02-26
  • 打赏
  • 举报
回复
ws_hgo 2010-02-26
  • 打赏
  • 举报
回复
引用 9 楼 y63964632 的回复:
谢谢了 去掉left就行了


GX.............
y63964632 2010-02-26
  • 打赏
  • 举报
回复
谢谢了 去掉left就行了

黄_瓜 2010-02-26
  • 打赏
  • 举报
回复
引用 5 楼 y63964632 的回复:
引用 1 楼 beirut 的回复:SQL codeselect tel,'Nice to Meet you!'from b

主要是和flag有关系 和nice to meet you 没关系
大哥

如果俩个表中flag为0的数据连接起来
--try
select b.tel,a.content from b
left join a on a.flag =b.flag or a.flag=0
SQL77 2010-02-26
  • 打赏
  • 举报
回复
SELECT b.tel,content
FROM a left JOIN
b on a.flag=0 and b.flag =0

把LEFT 去掉
黄_瓜 2010-02-26
  • 打赏
  • 举报
回复
你到底要啥结果?
不管flag为0不为0 都显示3条吗?
y63964632 2010-02-26
  • 打赏
  • 举报
回复
引用 1 楼 beirut 的回复:
SQL codeselect tel,'Nice to Meet you!'from b


主要是和flag有关系 和nice to meet you 没关系
大哥

如果俩个表中flag为0的数据连接起来
黄_瓜 2010-02-26
  • 打赏
  • 举报
回复
select b.tel,a.content from b 
left join a on a.flag =b.flag or a.flag <>b.flag
ws_hgo 2010-02-26
  • 打赏
  • 举报
回复
a表的信息了............
百年树人 2010-02-26
  • 打赏
  • 举报
回复
SELECT b.tel,content
FROM a
JOIN b on a.flag=b.flag and a.flag =0
黄_瓜 2010-02-26
  • 打赏
  • 举报
回复
select tel,'Nice to Meet you!' from b

34,590

社区成员

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

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