【发布时间】:2012-08-07 16:27:21
【问题描述】:
SELECT DISTINCT a.s_id, select2Result.s_id, select2Result."mNrPhone",
select2Result."dNrPhone"
FROM "Table1" AS a INNER JOIN
(
SELECT b.s_id, c."mNrPhone", c."dNrPhone" FROM "Table2" AS b, "Table3" AS c
WHERE b.a_id = 1001 AND b.s_id = c.s_id
ORDER BY b.last_name) AS select2Result
ON a.a_id = select2Result.student_id
WHERE a.k_id = 11211
返回:
1001;1001;"";""
1002;1002;"";""
1002;1002;"2342342232123";"2342342"
1003;1003;"";""
1004;1004;"";""
1002 值重复了两次,但这不应该是因为我使用了DISTINCT 并且没有其他表的 id 重复两次。
【问题讨论】:
-
这两行(对于 a.s_id = 1002)是不同的。其中一个有两个值,另一个有四个。如果不重复“1002”,dbms 怎么知道要返回这两行中的哪一行?它可能有助于您编辑您的问题,并描述您的实际问题。 (你上面描述的不是你的实际问题;这是一个不太有效的解决方案。)
标签: postgresql select distinct