2016-11-05 3 views
1

это вопрос noob, я знаю. У меня есть 2 таблицы:SQL Statement with Join - отсутствует запись ... (простой запрос noob)

DB Design

Данные выглядит следующим образом ...

products_services:

enter image description here

product_service_categories:

enter image description here

My SQL-заявление выглядит следующим образом:

SELECT product_service_id, product_service_name, product_service_category_name 
FROM products_services 
JOIN product_service_categories ON 
products_services.product_service_category_id = product_service_categories.product_service_category_id 
WHERE products_services.company_id = '7' 
ORDER BY product_service_category_name, product_service_name 

Результат выглядит следующим образом:

SQL result

Я отсутствует запись "ID 2 - Ernährungsberatung". Запись отсутствует, поскольку ее «product_service_category_id» - «0».

Пожалуйста, помогите мне с правильным SQL-Statement, чтобы получить эту запись.

Спасибо!

+0

Вопрос не имеет смысла. Если вы хотите id 2, почему вы фильтруете идентификатор компании? –

+0

Да, вы правы. Мои скриншоты не верны. На скриншоте отсутствовала пробная запись для таблицы product_services с «company_id = 7» и «product_service_category_id = 0». Но ответ Дуду сделал это ... :-) – Walhalla

ответ

0

Заменить JOIN с LEFT JOIN
JOIN возвращает только соответствующие строки.
LEFT JOIN возвращает все строки из левой таблицы с возможными совпадениями из правой таблицы.

+0

Прошу прощения. Я видел, что мой скриншот для таблицы «products_services» был неправильным, и запись с «company_id = 7» и «product_service_category_id = 0» отсутствует. Но ... большое спасибо за ваш ответ! Он работает с «LEFT JOIN» !!! :-) Имейте славный день! – Walhalla

+0

Это должно сработать для вас –

+0

Только что реализовано в моем приложении. Он работает :-) :-) :-) Спасибо – Walhalla