2015-04-21 93 views
-1

我得到2個表並需要加入它們。所有的很好,如果在inventar_pool的值存儲。 但如果任何字段爲空,它們的查詢也是空的。如果連接字段爲空,Mysql-Query會給出結果

我的問題是,我仍然需要查詢,但字段是空的。

我的查詢:

mysqli_query($coni,"SELECT strais.ean, bezeichnung, art, marker, stammkost FROM inventar2 JOIN strais.inventar_pool ON (strais.inventar2.ean = strais.inventar_pool.ean) WHERE ean='$ean'"); 

同樣,如果在右表(inventar_pool)設置的值的查詢給出的結果(這裏EAN 10,20,40)。

如果值爲空(即30和50),結果也是空的。

可以在表inventar_pool中查詢帶有或不帶有值的查詢嗎?

   SERVER 
    database_1   database_1  
    table 'inventar2'  table 'inventar_pool' 
+----+--------------+ +----+--------------+----------+ 
| ean | name  | |ean | stammkost |art|marker| 
+----+--------------+ +----+--------------+----------+ 
| 10 | name1  | | 10 | 100   | F | P | 
| 20 | name2  | | 20 | 255   | F | P | 
| 30 | name3  | | 30 |    | |  | 
| 40 | name4  | | 40 | 350   | F | P | 
| 50 | name5  | | 50 |    | |  | 
+----+--------------+ +----+--------------+----------+ 
+3

嘗試使用左聯接。 – frz3993

+0

'join'默認爲'inner join'。使用'left join'代替 –

+0

感謝user @ frz3993我發現使用「LEFT JOIN」,這就是它的解決方案。謝謝 – zauber3r

回答

1

在這種情況下,不要用戶JOIN,而是LEFT JOIN。

2

是改變內部連接到left join

SELECT 
strais.ean, 
bezeichnung, 
art, 
marker, 
stammkost 
FROM inventar2 left join strais.inventar_pool 
ON strais.inventar2.ean = strais.inventar_pool.ean 
WHERE strais.ean='$ean' 

但要確保爲條件 WHERE ean='$ean'您在左表有數據