[Q] 001 SG里的一句SQL语句(本人已明白了)

[复制链接]
查看11 | 回复1 | 2005-7-4 01:02:03 | 显示全部楼层 |阅读模式
再往下看,并好好理解后,偶理解了。 :)
是为了查ordid不止605的记录,对吧?

==============================
SQL> SELECTordid, prodid, qty
2FROM
item
3WHERE (prodid, qty) IN
4
(SELECT prodid, qty
5
FROM item
6
WHEREordid = 605)
7AND ordid605;

这句SQL语句不是无意义的嘛? 查询结果什么都不会有的呀?
或是我看错了?


回复

使用道具 举报

千问 | 2005-7-4 01:02:03 | 显示全部楼层
这个SQL并非没有意义。给个例子看就清楚了。
假设item表按顺序有ordid, prodid, qty 这三个字段,现在有以下几条记录,值分别为:
600,2,A
603,1,A
605,1,A
605,1,B
608,1,B
609,2,B
那么这个SQL语句得到的结果是“603,1,A”和“608,1,B”这两条。
实际上,这个SQL是求与ordid = 605记录的prodid、qty一样的记录,并且不包含ordid = 605的记录。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行