У меня вопрос о получении данных из таблицы с несколькими объединениями. Таблица 1 содержит информацию (имя и количество), а таблица 2 содержит комбинации. Строка в таблице 2 содержит идентификаторы, которые соответствуют идентификаторам из таблицы 1.Возможны ли множественные объединения в одной таблице?
я стараюсь, чтобы получить информацию из таблицы 1, на основе соответствующих идентификаторов в таблице 2.
Table1
Id | Name | Amount
--------------------
4 | Test 1 | 50
5 | Test 2 | 60
6 | Test 3 | 70
7 | Test 4 | 80
Table2
id | PriceId | MaterialId | ServiceId
-------------------------------------
1 | 4 | 5 | 6
2 | 4 | 5 | 7
Запрос
Чтобы получить представление о том, что я пытаюсь достичь:
SELECT * FROM Table1 a
LEFT JOIN Table2 b ON a.Id = b.PriceId
LEFT JOIN Table2 c ON a.Id = c.MaterialId
LEFT JOIN Table2 d ON a.Id = d.ServiceId
GROUP BY a.Id
Поэтому я стараюсь, чтобы получить имя и сумму из таблицы 1, соответствующий с идентификаторами в таблице 2, Таким образом:
Когда я выбираю все из таблицы 2 с ID 1 то я пытаюсь получить следующее:
Table 2 with ID 1: PriceId = 4, MaterialId = 6, ServiceId = 6
Table 1: Test 1, Test 2, Test 3
Поскольку PriceId 4 соответствует испытанию 1, а MaterialID 6 соответствует испытанию 2 и т. Д.
Надеюсь, что выше ясно. Любая помощь приветствуется!
да возможно, и вы уже обновили пример, поделитесь тем, с чем вы сталкиваетесь. –
Пожалуйста, укажите ваш желаемый результат. –
Прошу прощения за мой непонятный вопрос. Во-первых, запрос не дал всех результатов (только test1 и test2), и после некоторых изменений он дал результаты в одной строке (что нежелательно). Решение - ваш ответ, XL ant. Благодарю. –