2009-06-23 94 views
-1

說我有一個表,它有ID品牌列。MySQL匹配品牌的品牌,你不知道品牌的?

說我有一個項目,我知道ID是300,但這就是我所知道的。有沒有辦法讓查詢拉出與品牌相同品牌的所有商品,還是必須將其分解爲2個查詢並首先選擇商品300的品牌?

謝謝。

+0

您可能要多一點具體談談您的模式 - 不表(ID,品牌)定義一個項目,使得它是一個項目表? ID是品牌的ID嗎? – 2009-06-23 15:20:08

回答

3

如果我正確地理解了你,使用子選擇可能是解決這個問題最簡單的方法。

SELECT * FROM mytable WHERE brand = (SELECT brand FROM mytable WHERE id = 300); 
+0

我想我會用你的答案,儘管我認爲埃裏克的答案更酷,我認爲你的答案稍後會更容易回頭看,並理解它在做什麼。 – 2009-06-23 15:30:42

0
select id 
from item 
where brand = (select brand from item where id = 300) 
3

你可以加入表本身:

select 
    a.* 
from 
    brands a 
    inner join brands b on 
     a.brand = b.brand 
where 
    b.id = 300 
+0

作爲hangy的兩個工作,我不知道哪一個表演......我會想你的方式,因爲沒有子查詢? – 2009-06-23 15:24:28

0
select * from products where category in (select category from products where Id = 300)