我有三个正在使用的表,但是我很难得到我需要的东西。
这些表称为文档,变量和变量值。文档具有主键DocumentID,VariableValue和Variable具有主键VariableID和VariableValue也具有DocumentID作为主键。以下查询非常接近我的需求。此外,它控制文件版本返回到最新版本。
Select Distinct vv.ValueCache as 'Company Name'
from VariableValue vv, Documents d
where d.DocumentID = vv.DocumentID and
vv.VariableID = (Select VariableID
from Variable
where VariableName = 'Supplier Type' and d.Deleted = 0) and
vv.RevisionNo = (Select Max( Vv1.RevisionNo)
From VariableValue vv1
where vv1.VariableID = vv.VariableID and
vv1.DocumentID = d.DocumentID and
vv1.ValueText is not null) and
vv.ValueCache != ''
我真正想要得到的是文件列表,其中“供应商类型”列(在“变量”表中称为)没有不包含在VariableValues中的值“ Distributor”。 ValueText列。我觉得我已经很接近了,我只是想不通如何在调用中获取Distributor参数。
答案 0 :(得分:0)
老实说,我不是100%确定您的要求。具体来说,我不确定“在通话中获取Distributor参数”的含义,但听起来您正在寻找的只是WHERE vv1.ValueText <> 'Distributor'
或{{1} }子句。
例如,
NOT IN
<your query> ... WHERE vv1.ValueText NOT IN (select * from dbo.MyTable where vv1.ValueText <> 'Distributor')
可能是一件好事。如果您可以提供样本表,那将大有帮助。