SQL алгоритм вопрос для преобразования таблицы - PullRequest
1 голос

У меня есть такая таблица:

number  stuff1  stuff2  stuff3
-------------------------------
1       x       y
2       a
3       b   
4       c       d       e

Я хочу использовать оператор SQL, чтобы превратить его в следующее:

number  stuff1  stuff2  stuff3
-------------------------------
1       x
1               y   
2       a
3       b   
4       c
4               d   
4                       e

У меня проблемы с построением SQL-оператора. пожалуйста помоги! альтернативный текст http://img193.imageshack.us/img193/8408/35944096.png

1 Ответ

3 голосов
/ 13 мая 2010

Предположим, что ваши столбцы называются ID, field1, field2 и field3:

SELECT * FROM (
  SELECT ID, field1, NULL, NULL FROM table WHERE NOT (field1 IS NULL)
  UNION
  SELECT ID, NULL, field2, NULL FROM table WHERE NOT (field2 IS NULL)
  UNION
  SELECT ID, NULL, NULL, field3 FROM table WHERE NOT (field3 IS NULL)
) mySubQuery
ORDER BY ID

(не проверено; точный синтаксис может варьироваться в зависимости от используемого механизма базы данных)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...