我在ms中创建了三个表,如ProductBrands和ProductBrands--这些表包含如下数据
产品(PId - PName)
品牌(BId - BName)
ProductsBrands (PBId - PId - BId)
..。
..。
现在我得从桌子上拿出下面的
基本上我得把分配给一个产品的所有品牌都拿来
请帮帮我!我对此很陌生
发布于 2014-11-07 05:01:38
SELECT P.PId ,
P.PName,
B.BId,
B.BName
FROM Products P
JOIN ProductsBrands PB On PB.PId = P.PId
JOIN Brands B ON B.BId = PB.BId 看,这是不是你要找的。
发布于 2014-11-07 05:02:07
如果我的理解是正确的:(获取分配给某一产品的所有品牌)
select BName from Brands where BId in
(select distinct Bid from ProductsBrands where PId = (select PId from Products where PName = @input))发布于 2014-11-07 05:06:22
首先,您可能不需要"PBid“字段用于"ProductBrand”表,而是可以使用复合主键作为主键"PId,BId“。
这是SQL代码。
Select PId, PName, BId, BName
from product p , brand b , productbrands pd
where p.pid = pd.pid and b.bid = pd.bid请记住,如果您的一个产品属于一个和唯一一个品牌,那么您可以将其减少到只有两个表。
ex -product(pid,pname,出价)和品牌(出价,bname)
https://stackoverflow.com/questions/26794302
复制相似问题