我想检索与特定ID相关的所有数据,以及同一个表中位值为1的所有数据。
这是表格数据:
Description
---------------------
INT DID
INT DescID
VARCH DescTitle
VARCH DescText
BIT ForAll
Description_Join
---------------------
INT DJID
INT DescID
INT ProductID
这些表由DescID连接。所以现在我想用特定的ProductID(来自request.querystring)显示所有数据,我还想显示表中的所有数据"描述"该领域" ForAll" BIT值为1。
我无法让它发挥作用。
这是我试过的Sql
SELECT D.DescID, DJ.DescID, DJ.ProductID, D.ForAll, D.DescTitle, D.DescText
FROM Brand_Variant_Description D
INNER JOIN Description_Join DJ ON (D.DescID = DJ.DescID)
WHERE DJ.ProductID=222 AND D.BrandDescAllSel=1
答案 0 :(得分:1)
我假设您需要所有匹配特定产品的数据以及位值为1的数据,即使它具有不同的产量。如果这是你需要的,那么在你的查询中将内连接更改为左连接,并将最终AND替换为OR,如此
SELECT D.DescID, DJ.DescID, DJ.ProductID, D.ForAll, D.DescTitle, D.DescText
FROM Brand_Variant_Description D
LEFT JOIN Description_Join DJ ON (D.DescID = DJ.DescID)
WHERE DJ.ProductID=222 OR D.BrandDescAllSel=1
答案 1 :(得分:0)
尝试此查询
SELECT D.DescID
,DJ.DescID
,DJ.ProductID
,D.ForAll
,D.DescTitle
,D.DescText
FROM Brand_Variant_Description D
LEFT JOIN Description_Join DJ ON (D.DescID = DJ.DescID)
AND (D.ForAll = 1)
WHERE DJ.ProductID = 222
AND D.BrandDescAllSel = 1