作者wskevin (kevin)
看板Database
标题[SQL ] 一样是子查询EXISTS的问题
时间Fri Jul 17 21:28:38 2009
Schema 如下:
Part(Number,Description,Weight,Color)
Requisition (Proj_ID,Part_No,Qty)
SQL查询语法为:
SELECT Part_No
FROM Requisition X
WHERE Proj_ID=4
AND EXISTS
(SELECT *
FROM Requisition Y
WHERE Proj_ID=5
AND X.Proj_ID=Y.Proj_ID);
意思是说:
请列出计划代号4的零件中,也有使用在计划代号5的所有零件代号。
可是我在mysql 的软体,建立了一个表格:
requisition
proj_id part_no
-------- -------
4 1
4 3
5 2
5 4
6 1
5 3
下了以下的指令,
select part_no from requisition x where proj_id=4 and exists(select *
from requisition y where proj_id=5 and x.proj_id=y.proj_id);
结果却是:
Empty set (0.00 sec)
请问这样子是正确的吗?
还是原本SQL查询的指令真正意思是什麽?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 125.233.68.178
1F:推 ntoupine:X.Proj_ID=Y.Proj_ID 改成 X.Part_No = Y.Part_No 07/17 21:54
2F:→ wskevin:谢谢楼上的回答~~~ 07/18 16:18