2015-05-18 4 views
-1

У меня есть две таблицы.Использование не существует в SQL Server

Doctype 
----------- 
doctypeid 
doctype 

DocumentList 
----------------- 
doclistid (pk), 
projectid, 
doctypeid, 
docfile(binary) 

Я хочу, чтобы получить все projectid и doctypeid из documentlist таблицы, где список doctypeid (от Doctype таблицы) не существует в DocumentList таблице.

+0

Вы утверждаете, что хотите, чтобы все doctypeid из таблицы, где doctypeid не в таблице? – Simone

+0

есть много примеров того, как это сделать, если вы сначала выполните поиск: http://stackoverflow.com/search?q=%5Bsql-server%5D+not+exists – Tanner

+0

Doctypeid - это главный список. В таблице DocumentList содержится несколько документов с doctypeid. Я хочу получить все doctypeids, которых нет в таблице списка документов. Чтобы я мог предупредить пользователя о том, что эти документы все еще отсутствуют. – nkrishna

ответ

0

Если я правильно понял ваш вопрос, вы можете использовать что-то вроде этого:

SELECT projectid, doctypeid 
FROM DocumentList 
WHERE doctypeid NOT in(1,2,3,4...n) 
0
SELECT MD.projectid , 
     MD.doctypeid 
FROM my_DocumentList MD 
WHERE NOT EXISTS (SELECT Mdt.doctypeid 
        FROM MY_Doctype Mdt 
        WHERE doctypeid IN (SELECT MD.doctypeid)) 
0

Если вы хотите, чтобы список projectid и doctypeid из DocumentList, что его doctypeid не существует в Doctype использования этой :

SELECT 
    projectid, 
    doctypeid 
FROM 
    DocumentList 
WHERE 
    NOT EXISTS(SELECT 1 
       FROM Doctype 
       WHERE Doctype.doctypeid = DocumentList.doctypeid)