Я видел ответы на эти вопросы, которые близки, но не совсем так для меня.
Представьте, что у вас есть несколько строк. Вы хотите найти строки в существующей таблице, которые содержат эти строки, и строки, которые не содержат.
Найти строки, которые содержат строки в столбце, конечно, легко, например, myTable has следующие столбцы:
- myTableID varChar (3)
- myTableValue varChar (20)
Со следующими строками:
ABC | The First Row
GHI | The Second Row
JKL | The Third Row
select *
from myTable
where myTableID in ('ABC','DEF','GHI','JKL');
myTable не содержит строку со значением 'DEF' в столбце myTableID. Набор ответов не будет содержать строку для этого. Там нет ни одного!
Однако то, что я хочу сделать, это трактовать это как что-то вроде LEFT OUTER JOIN со значением 'DEF' перед набором столбцов, которые содержат нули. Дает следующий вид результата:
ABC| ABC | The First Row
DEF| null|null
GHI| GHI|The Second Row
JKL| JKL|The Third Row
У меня есть несколько сотен ключевых значений, на которые мне нужно обратить внимание.
Есть ли у кого-нибудь здесь какие-либо мысли о том, как лучше всего это сделать?