Извините за странный заголовок, у меня нет большого опыта работы с SQL.Я работаю с 2 таблицами: таблица COMPONENTS
, в которой перечислены некоторые компоненты, и таблица OPERATIONS
, которая представляет собой список операций, применяемых к компонентам.
Таблица COMPONENTS
выглядит следующим образом:
+-------+--------------+-------------------+-------+
| Level | Main Article | Secondary Article | Brand |
+-------+--------------+-------------------+-------+
| 1 | Article A | Article 1 | Foo |
| 1 | Article B | Article 1 | Bar |
+-------+--------------+-------------------+-------+
В нем гораздо больше столбцов, но это идея.В основном в нем перечислены все товары на складе и из каких изделий они сделаны.
Таблица OPERATIONS
содержит все операции, которые должен выполнить вторичный товар, чтобы включить его в основной:
+--------------------+-----------+------+
| Secondary Article | Operation | Cost |
+--------------------+-----------+------+
| Article 1 | Cutting | X |
| Article 1 | Knitting | Y |
| Article 1 | Bleaching | Z |
+--------------------+-----------+------+
Как лучше всего объединить эти две таблицы в одну, имеющую такую структуру?
+-------+--------------+-------------------+-----------+------+-------+
| Level | Main Article | Secondary Article | Operation | Cost | Brand |
+-------+--------------+-------------------+-----------+------+-------+
| 1 | Article A | Article 1 | | | Foo |
| 1 | Article A | Article 1 | Cutting | X | Foo |
| 1 | Article A | Article 1 | Knitting | Y | Foo |
| 1 | Article A | Article 1 | Bleaching | Z | Foo |
| 1 | Article B | Article 1 | | | Bar |
| 1 | Article B | Article 1 | Cutting | X | Bar |
| 1 | Article B | Article 1 | Knitting | Y | Bar |
| 1 | Article B | Article 1 | Bleaching | Z | Bar |
+-------+--------------+-------------------+-----------+------+-------+
Я попытался максимально упростить проблему.Как мне действовать, чтобы справиться с этим?Я пробовал с объединениями и объединениями, но это не работает.
Мне кажется, что это было бы очень легко сделать с языком программирования, который допускает циклы, но я полностью потерян здесь.