Результаты внутреннего объединения в TSQL - PullRequest
0 голосов
/ 04 октября 2018

У меня есть три таблицы, с которыми я работаю, и у меня возникают проблемы с получением именно того, что мне нужно.

Таблицы называются Documents, Variable и VariableValue.Документы имеют первичный ключ 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.ValueText.Я чувствую, что я очень близок, я просто не могу понять, как получить аргумент Distributor в вызове.

1 Ответ

0 голосов
/ 04 октября 2018

Я, честно говоря, не уверен на 100%, что вы просите.Более того, я не уверен, что вы подразумеваете под «получить аргумент Distributor в вызове», но звучит так, будто вы ищете что-то вроде WHERE vv1.ValueText <> 'Distributor' или, возможно, что-то вроде NOT IN предложения.Например,

<your query> ... WHERE vv1.ValueText NOT IN (select * from dbo.MyTable where vv1.ValueText <> 'Distributor')

IN - это хорошая вещь для изучения.Если бы вы могли предоставить примеры таблиц, это было бы намного полезнее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...