Я пытаюсь написать SQL-запрос, чтобы возвращать все строки в таблице без соответствующего значения.Внутреннее соединение SQL без соответствия (та же таблица)
У меня есть компания, работа, subjob, costcode и costtype (среди других полей). Мне нужно вернуть все строки, которые имеют «J» costtype, но не «L» costtype.
Это, вероятно, лучше объяснить с данными:
Company Job Subjob Costcode Costtype
------- -------- ------- --------- ----------
1 1234 0132 J
1 2345 01 9394 E
1 2345 02 9233 L
1 2345 02 9992 J
1 2345 02 9992 L
1 2345 03 1112 J
1 3384 3928 J
1 3384 03 3928 J
1 3384 11 2838 L
Так что я бы ожидать следующее:
Company Job Subjob Costcode Costtype
------- -------- ------- --------- ----------
1 1234 0132 J
1 2345 03 1112 J
1 3384 3928 J
1 3384 03 3928 J
Я знаю, что это что-то просто я не хватает, но не может получить правильную комбинацию JOIN, ON и WHERE, чтобы заставить его работать.
звучит скорее как вы хотите использовать 'EXISTS' против соединения (или, более конкретно,' NOT EXISTS' в этом сценарии). –