我需要你的幫助與SQL查詢。複雜的搜索SQL查詢
我需要在該mathing元素具有smalest順序表中選擇值,目前我有以下查詢:
SELECT p.confirmation,
p.lname,
p.fname,
p.profiletype,
a.address1,
a.city,
c.contactinfo
FROM profile p
LEFT JOIN contact c
ON p.confirmation = c.profileid
AND c.ord = 1
LEFT JOIN address a
ON p.confirmation = a.profileid
AND a.ord =1
這項工作做得很好,當smalest「a.ord」或c.ord 「是1,但最小值不會永遠是一個,也可能是其他任何數字,所以我試着不更迭如下:
SELECT p.confirmation,
p.lname,
p.fname,
p.profiletype,
a.address1,
a.city,
c.contactinfo
FROM profile p
LEFT JOIN contact c
ON p.confirmation = c.profileid
min(c.ord)
LEFT JOIN address a
ON p.confirmation = a.profileid
min(a.ord)
我已經取代」 AND a.ord = 1 「by」min(a.ord)「沒有成功。
我怎麼能做到這一點,沒有做出兩個單獨的查詢。
有沒有一種方法,我可以在排序的
SELECT c.ord FROM contact c WHERE p.confirmation = c.profileid ORDER BY c.ord LIMIT 1
當前SQL裏面添加的東西?
謝謝!
close ...我有多個聯繫人爲每個配置文件,並按「ord」排序。我需要每個配置文件的第一個聯繫人顯示在我的搜索中。類似於:AND c.ord =(SELECT ord FROM contact where WHERE profileid = p.confirmation ORDER BY ord LIMIT 1)。但我現在知道,這是不正確的SQL! – 2013-03-26 19:25:47
@DanielBerthiaume。 。 。這就是這個查詢正在做的事情。它只是將ord的最小值計算爲單獨的子查詢。 – 2013-03-26 19:27:48
謝謝你,答案並沒有解決我的問題,但它確實幫助我找到了我自己的答案,並且對嵌套select有所瞭解。 – 2013-03-26 19:47:34