SQL语句求助

2013-02-27 16:56:09 +08:00
 0x0001
现有两个表a,b
a表是标准目录,有列s1,s2
b表是具体条目,有好几套以a表为标准的条目,列d1,d2与a表对应
现在任务是根据标准目录a提供的信息找出表b中缺少的条目

更形象点就是a表里规定了一副扑克牌标准,b里保存了好几副,但这几副牌是有缺牌的,现在找出缺牌,并标识是哪副牌少了哪一只。

学得不深入,再次谢过
3531 次点击
所在节点    问与答
6 条回复
sunlitpalm
2013-02-28 03:24:10 +08:00
这周项目加的新功能跟你的要求差不多,找给出没有匹配的列表,比你的复杂点,两表关系是通过第三张表关联起来的。具体字段关系告诉我,给你写个,我用的union
0x0001
2013-02-28 10:00:31 +08:00
@sunlitpalm 这两个表的关系就是a表的s1,s2和b表的d1,d2内容一致,两表还有其他内容。
到电脑时再给感谢,哈哈。
yyai3
2013-02-28 10:33:22 +08:00
select s1,s2,d1,d2
from a left join b on a.s1=b.d1 and a.s2=b.d2
where d1 is null;
如果说是找扑克牌,暂时想到的是:
select s1,d1 from a left join b on a.s1=b.d1 where d2=“第一副牌";
不知道d2 是否可以用来标识是第几副牌~~
0x0001
2013-02-28 11:10:30 +08:00
@yyai3 这个我写过了,似乎只要我b表里只要有一副牌是全的,就没结果了…
sunlitpalm
2013-02-28 15:34:38 +08:00
@0x0001 s1 s2相当于联合主键吗?d1,d2 与 s1,s2对应,那么在b表里怎么区分不同副牌的?
0x0001
2013-02-28 16:01:19 +08:00
@sunlitpalm 还有个d3能能区分,结果最好是group by d3

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/61485

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX