2013-03-01 2 views
1

Я хочу перечислить строки из таблицы, которая относится к ИНЕК, которые необходимо сравнить список записей из двух таблицЧтобы использовать SELECT, запрос в ИНЕКЕ

SELECT DISTINCT (CONA.DOCUMENTID), CONA.CONTENTID 
FROM TABLEA AS CONA 
INNER JOIN TABLEB AS CTAGA ON CTAGA.CONTENTID = CONA.CONTENTID 
WHERE CONA.DOCUMENTID LIKE 'PM%' 
AND (
    SELECT TAGID 
    FROM TABLEB 
    WHERE CTAGA.CONTENTID = CONA.CONTENTID 
) IN (SELECT TAGID FROM TABLEC) 

В вышеприведенном SELECT TAGID FROM TABLEB WHERE CTAGA.CONTENTID = CONA.CONTENTID будет

азбуки, Защиты, ГХИ, JKL, MnO имеют

и

SELECT TAGID FROM TABLEC будут азбука, Защиты, ГХИ, JKL, MnO, PQR, ст

Можно проверить все записи в списке А есть в списке В

Используя выше I дополнительно несколько значений в таблице

ответ

0

Попробуйте

SELECT DISTINCT (CONA.DOCUMENTID),TAGID FROM TABLEB As CTAGA 
Join TABLEC As CONA On CTAGA.CONTENTID = CONA.CONTENTID 
Where CTGA.TAGID in (SELECT TAGID FROM TABLEC) 
AND CONA.DOCUMENTID LIKE 'PM%' 
0

Попробуйте это запрос

SELECT DISTINCT (CONA.DOCUMENTID), CONA.CONTENTID 
FROM TABLEA AS CONA INNER JOIN TABLEB AS CTAGA ON CTAGA.CONTENTID = CONA.CONTENTID 
         AND CTAGA.TAGID IN (SELECT TAGID FROM TABLEC)      
WHERE CONA.DOCUMENTID LIKE 'PM%' 

ИЛИ

SELECT DISTINCT (CONA.DOCUMENTID), CONA.CONTENTID 
FROM TABLEA AS CONA INNER JOIN TABLEB AS CTAGA ON CTAGA.CONTENTID = CONA.CONTENTID           
WHERE CONA.DOCUMENTID LIKE 'PM%' AND EXISTS (
              SELECT 1 
              FROM TABLEC 
              WHERE CTAGA.TAGID = TABLEC.TAGID 
              ) 
Смежные вопросы