Kiedy wykonuję lewe sprzężenie zewnętrzne, spodziewam się uzyskać wszystkie rekordy, które zapytanie zwróci przed dodaniem połączonej tabeli, ale to tylko zwracające rekordy pasujące do połączonej tabeli table (tj .: brak rekordu dla '092387' istnieje w tabeli 'documentation', więc chcę po prostu zwrócić null dla pola 'filename' dla tego rekordu.) Co robię źle?Left Outer Join nie zwraca wszystkich rekordów z podstawowej tabeli
mysql> select documentation_reference.ref_docnumber
, documentation.filename
from documentation_reference
left outer join documentation on ref_docnumber=documentation.docnumber
where documentation_reference.docnumber='TP-036'
and documentation.status!=3;
+---------------+-----------------+
| ref_docnumber | filename |
+---------------+-----------------+
| SOP-0042 | SOP-0042r39.pdf |
+---------------+-----------------+
1 row in set (0.00 sec)
mysql> select ref_docnumber
from documentation_reference
where documentation_reference.docnumber='TP-036';
+----------------------+
| ref_docnumber |
+----------------------+
| 092387 |
| 1100218B |
| Applicable Item Spec |
| SOP-0042 |
+----------------------+
4 rows in set (0.00 sec)
Dobrze ... to było to. Dzięki za pomoc - to ma sens. –