У меня огромная проблема, я не делаю то, что происходит. Это мойmysql не равно не работает
table1
+-----+-----------------------+--------------+
| id | invoice_number | invoice_date |
+-----+-----------------------+--------------+
| 12 | 12536801244 | 2009-09-23 |
| 38 | 12585302890 | 2009-11-18 |
| 37 | 12584309829 | 2009-11-16 |
| 123 | 12627605146 | 2010-01-06 |
| 191 | 12663105176 | 2010-02-16 |
+-----+-----------------------+--------------+
и это мой второй
table2
+-----+-----------------------+--------------+
| id | invoice_number | invoice_date |
+-----+-----------------------+--------------+
| 12 | 1t657801244 | 2009-09-23 |
| 20 | 12585302890 | 2009-11-18 |
| 37 | 1ss58430982 | 2009-11-16 |
| 103 | 12627605146 | 2010-01-06 |
| 121 | 12346310517 | 2010-02-16 |
+-----+-----------------------+--------------+
То, что я хочу, у меня есть получить все invoice_numbers, которые не в table2
Это мой SQL-запрос.
select t2.invoice_number FROM table1 t1
JOIN table2 t2 ON t2.invoice_number != t1.inovice_number;
Но у меня получается другой результат. Любое тело, что не так с кодом SQL?
не эффективен в MySQL. вместо этого используйте 'LEFT JOIN' или' NOT EXISTS() '. –
@JohnWoo согласен, ваш ответ с 'left join' был бы лучше для перспективы производительности – hashbrown