Моя цель - получить таблицу инвентаризации, состоящую из множества частей. В результирующей таблице будет указано название детали, расположение детали и количество. У меня есть четыре таблицы:
Inventory - перечисляет все идентификаторы инвентаря partType_id
PartTypes - типы деталей, которые могут быть в инвентаре id partName
Part_Location - связь между типом детали и местом, где она хранится Location_id partType_id
Location - список всех местоположений для частей id nanme
Проблема, с которой я столкнулся с моим запросом, заключается в том, что подмножество частей, которые я тестирую, не имеют местоположения, поэтому запрос не возвращает результатов. Я хотел бы указать "NULL" для местоположения любой части, где местоположение не найдено. Я видел, где вы можете использовать вложенный SELECT для возврата null, но INNER JOINS сбивает с толку простой пример, который я видел.
Вот мой текущий SQL запрос сервера:
SELECT PT.partName AS part_name, L.name AS part_location, COUNT(I.id) AS part_count
FROM Location L
INNER JOIN Part_Location PL ON PL.Location_id = L.id
INNER JOIN PartTypes PT ON PT.id = PL.partType_id
INNER JOIN Inventory I ON I.partType_id = PT.id
GROUP BY L.name, PT.partName
What I хотел бы увидеть результат:
part_name part_location part_count part-1
null 100 part-2 null 15
et c.