Отказ от ответственности: Я не уверен, как правильно называть этот вопрос, поэтому я приношу свои извинения, если он уже был задан. Вопросы, которые я нашел с похожими заголовками и содержанием, не касались моей проблемы.SQL Присоединиться к нескольким строкам одной таблицы
У меня есть две таблицы, вопросы и текст. Проблемы и текст имеют общий столбец идентификатора, который выступает в качестве первичного ключа для проблем. Текст использует ID и поле в качестве ключевых столбцов.
В конечном счете, мне нужен запрос sql, который выбирает контент в разделе «Проблемы, которые я хочу», а затем на основе идентификатора выбирает правильные значения из «Текст». Я использую соединения, но я не знаю, чтобы заставить его работать, когда мне нужно несколько строк. Я хотел бы иметь столбец А на выходе для совпадающих идентификаторов и значения Text.Field для A и столбца B для совпадающих идентификаторов и значения Text.Field B.
Как я могу это сделать ?
Я вытягивать из среды Netezza, так Pivot не доступен
Благодаря
Пример Структура:
Issues Table:
|ID|Column1|Column2|
--------------------
|0 | 17| 18|
|1 | 19| 20|
Text Table:
|ID| Field| Value |
--------------------
|0 | A| 30|
|0 | B| 31|
|1 | A| 40|
|2 | B| 41|
Output:
|ID|Column1|Column2|Column3 (Field = 'A') | Column4 (Field = 'B')|
------------------------------------------------------------------
| 0| 17| 18| 30 | 31 |
| 1| 19| 20| 40 | 41 |
Есть ли от 1 до многих отношений между таблицами Проблемы и текст? – STLDeveloper
Вы имеете в виду, что 1 ряд вопросов соответствует нескольким строкам в тексте? Да. Проблемы имеют идентификатор в качестве первичного ключа. Текст использует идентификатор и поле. –
Ключевое слово, которое вы ищете, это 'pivot' - см. Http://stackoverflow.com/questions/tagged/pivot+sql –