MySQL匹配品牌的品牌,你不知道品牌的?

问题描述:

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

说我有一个项目,我知道ID是300,但这就是我所知道的。有没有办法让查询拉出与品牌相同品牌的所有商品,还是必须将其分解为2个查询并首先选择商品300的品牌?

谢谢。

+0

您可能要多一点具体谈谈您的模式 - 不表(ID,品牌)定义一个项目,使得它是一个项目表? ID是品牌的ID吗? – 2009-06-23 15:20:08

如果我正确地理解了你,使用子选择可能是解决这个问题最简单的方法。

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

我想我会用你的答案,尽管我认为埃里克的答案更酷,我认为你的答案稍后会更容易回头看,并理解它在做什么。 – 2009-06-23 15:30:42

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

你可以加入表本身:

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

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