2015-04-21 2 views
-1

У меня есть 2 таблицы и вам необходимо их присоединиться. Все это прекрасно, если на inventar_pool значения сохраняются. НО, если любое поле пуст, запрос также пуст.Mysql-Query doenst дает результат, если поля объединения пустые

Моя проблема в том, что мне все еще нужен запрос, но поля пустые.

мой запрос:

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) запрос дает результат (здесь ЕАН 10, 20, 40).

Если значения пустые (ean 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

Попробуйте использовать LEFT JOIN. – frz3993

+0

По умолчанию 'join' является' inner join'. Используйте «left join» вместо –

+0

благодаря пользователю @ frz3993 Я узнал, что использую «LEFT JOIN», это решение для него. Спасибо – zauber3r

ответ

1

Не подключайте пользователя в этом случае, но ВСПОМОГАТЕЛЬНЫЙ ВСТУПИТЬ.

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' у вас есть данные в таблице слева

Смежные вопросы