2011-06-01 211 views
0

我想要從其他表格中選擇一個表格的行顯示單個值,可以說通過最後一個類別ID顯示錶格中的圖像。從表格中選擇一行從其他表格中選擇一個字段

我有這種類型的查詢,但是這回我所有匹配鍵的行,如果我的插圖LIMIT 1然後返回一行...

SELECT i.prof_image FROM profile_images i 
JOIN images_cat cat ON (cat.cat_id = i.cat_id) 
GROUP BY i.prof_image; 
//OR LIMIT 1; 

任何想法來解決這個問題。 (即顯示最新的分類圖像)?

+0

你可以包括一些樣本數據和期望的輸出嗎? – 2011-06-01 09:11:42

+0

即時通訊不知道我得到你的問題,但我的猜測是你在查詢中缺少「DISTINCT」。 SELECT DISTINCT i.prof_image .... – Rufinus 2011-06-01 09:13:38

+0

@ Rufinus,@ james C:不,我只是想顯示類別圖像。按最新增加的類別。 – 2011-06-01 09:17:29

回答

1

這會爲你的具體實例工作..如果你需要更多的選擇,那麼請張貼一些細節..

SELECT i.prof_image 
FROM profile_images i 
WHERE cat_id = (select max(cat_id) from images_cat) 
+1

爲什麼選擇它? MAX(i.cat_id)應該完全一樣。 – Rufinus 2011-06-01 09:23:26

+0

@StevieG,是的,這是可能的,但我想通過加入單個查詢意味着什麼。 – 2011-06-01 09:26:47

+0

@Rufinus - +1好點..咖啡需要methinks .. – StevieG 2011-06-01 09:41:52

1
SELECT * FROM table_1 
LEFT JOIN table_2 ON table_1.id = table_2.id 

該查詢將獲取table_2中具有相同id值的所有東西。

請注意,它是一個左連接 - 這意味着如果在table_2中有沒有匹配值,它仍會返回table_1中的值。

你使用last()的意圖是什麼?

希望這會有所幫助。

+0

不,這不是簡單的,你寫, – 2011-06-01 10:25:19

+0

@ime對不起,沒有必要喊:P。你有沒有找到你的答案? – 2011-06-02 21:55:06

+0

是的,StevieG的回答是幫助我的,但還沒有作爲一個查詢。意思是通過JOINS拾取記錄> ....並感謝你的回覆人。 – 2011-06-03 11:03:31

相關問題