Возникли проблемы с доступом к таблице с помощью моего запроса SQL. Не получить желаемый результат

0

У меня возникли проблемы с отображением setid из набора таблиц с моим SQL-запросом. Я получаю только setid из "инвентаря", а не из "наборов".

$setidquery = "SELECT inventory.itemid,
                        inventory.setid,
                        inventory.colorid,
                        inventory.itemtypeid,
                        colors.colorname,
                        parts.partname,
                        parts.partid,
                        sets.setid
                        FROM inventory
                        JOIN parts ON inventory.itemid = parts.partid
                        JOIN colors ON inventory.colorid = colors.colorid
                        JOIN sets ON sets.SetID = inventory.SetID
                        WHERE sets.setid = '$_COOKIE[setid]'
                        ORDER BY partname ASC
                        LIMIT 1000";

'$ _COOKIE [setid]' - это поиск с предыдущего этапа, так что вы, вероятно, можете догадаться, что это будет конкретный "SetID". Но когда вы вводите setid из наборов таблиц, ничего не появляется.

Например, набор 375-2 отображается отлично, потому что этот набор находится в инвентаре таблицы, но набор 0011-2 не отображается, потому что он находится в наборах таблиц.

Схема базы данных: http://weber.itn.liu.se/~stegu76/TNMK30-2016/legodatabasen.pdf

Цель: печать таблицы с наборами из инвентаря и наборов.

Извините за повторение себя, просто пытаясь быть конкретным.

Теги:

1 ответ

0

Если вы используете JOIN, то получите только записи, где установлены sets.SetID = inventory.SetID. Если у вас есть только запись в наборах таблиц, а не в инвентаре, записи не совпадают с вашим соединением. Вероятно, вам нужно использовать RIGHT JOIN, чтобы отображать записи, которые не имеют соответствующих результатов в таблице Inventory.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню