У меня есть таблица со всеми моими деталями счета-фактуры в качестве пакетов:Заменить значение с результатом иностранных Ключа
Table: invoice_items
invoice_item_id | package_id | addon_1 | addon_2 | addon_3 | ...
----------------|------------|---------|---------|
1 | 6 | 2 | 5 | 3 |
Тогда мой другой стол:
Table: addons
addon_id | addon_name | addon_desc |
----------|--------------|--------------------------|
1 | Dance Lights | Brighten up the party... |
2 | Fog Machine | Add some fog for an e... |
Вместо того, чтобы место хранения имени аддон в моя таблица invoice_items, я бы хотел просто добавить addon_id в столбцы addon_1, addon_2 и т. д.
Как мне получить имя аддона при выполнении запроса для строк invoice_item?
Прямо сейчас я просто запрограммировал его на страницу, если addon_id == 1, echo «Dance Lights» и т. Д., Но я хотел бы сделать это в запросе. Вот мой текущий запрос:
$invoice_items_SQL = "
SELECT invoice_items.*, packages.*
FROM `invoice_items`
INNER JOIN packages ON invoice_items.invoice_item_id = packages.package_id
WHERE `event_id` = \"$event_id\"
";
Так что я в состоянии сделать это с пакетами, но только потому, что есть только один package_id в ряд, но есть до 9 аддонов :(
Мне нравится ваша вторая идея, однако я думаю, что я, вероятно, захочу держаться подальше от отдельной таблицы, потому что это упростит добавление и удаление invoice_items, потому что мне придется добавить несколько строк в разные таблицы при создании, а также поиск и удаление записей из таблицы аддонов при удалении invoice_item. Возможно, это того стоит. Большое спасибо за идеи! Как бы я разобрал информацию из объединений, чтобы узнать, какой результат является результатом addon_id, если я использую ваше первое предложение? –
Вы бы назвали биты в первом SELECT с номерами. Таким образом, JOINs будут иметь псевдоним addson1, addons2 и т. Д., Затем в SELECT вы добавите addons1.addon_name AS addon1, addons2.addons_name AS addon2 и т. Д. – Octo
Я не уверен, полностью ли я понимаю (я действительно новичок в PHP и mysql ... как это будет выглядеть как запрос? –