MySQL匹配品牌的品牌,你不知道品牌的?
问题描述:
说我有一个表,它有ID和品牌列。MySQL匹配品牌的品牌,你不知道品牌的?
说我有一个项目,我知道ID是300,但这就是我所知道的。有没有办法让查询拉出与品牌相同品牌的所有商品,还是必须将其分解为2个查询并首先选择商品300的品牌?
谢谢。
答
如果我正确地理解了你,使用子选择可能是解决这个问题最简单的方法。
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)
您可能要多一点具体谈谈您的模式 - 不表(ID,品牌)定义一个项目,使得它是一个项目表? ID是品牌的ID吗? – 2009-06-23 15:20:08