Как составить следующий запрос в MySQL?

Добрый день!

Есть две таблицы в MySQL:
- product (товары)
- manufactured (производители)

В product есть столбцы: product_id, manufactured_id и name
В manufactured есть столбцы: manufactured_id и name

Следовательно, каждому product_id присваивается определенный manufactured_id. Но сейчас уже очень много производителей, которые не нужны и не используются.

Можно ли как-то получить manufactured_id и name, которые не привязаны ни к одному product_id?

Надеюсь, объяснил понятно. Насколько это реально?

Заранее спасибо!
  • Вопрос задан
  • 2587 просмотров
Решения вопроса 1
morozovdenis
@morozovdenis
странная у вас структура

правильно вот так:
product(id, manufactured_id, name)
manufactured (id, name)


тогда запрос должен быть вот такой:
SELECT *
FROM manufactured
LEFT JOIN product ON product.manufactured_id = manufactured.id
WHERE product.id IS NULL


я плохо понимаю вашу структуру и где какие хранятся id-шники, запрос вам нужен в таком духе что я написал выше

UPD:
скорее всего вам нужен такой запрос:
SELECT *
FROM manufactured
LEFT JOIN product ON product.manufactured_id = manufactured.manufactured_id 
WHERE product.product_id IS NULL
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
dabich
@dabich
Web Developer
Или же с этой же структурой и так можно.
SELECT 
    manufactured.manufactured_id, 
    manufactured.name 
FROM product 
INNER JOIN manufactured 
ON product.manufactured_id <> manufactured.manufactured_id
Ответ написан
evnuh
@evnuh
Поиск Гугл помог мне, впусти и ты его в свой дом
почему manufactureD ? Да и вообще, почему мануфактуры?)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы