Отображение столбцов в линии - PullRequest
0 голосов
/ 12 июня 2019

У меня есть таблица со следующими полями:

AS1|BS1|AS2|BS2|AS3|BS3|
...N rows...

Я хотел бы создать новую таблицу на основе первой со следующей структурой:

Label|S1|S2|S3|
  A  |  |  |  | (This row contains the value of AS1|AS2|AS3)
  B  |  |  |  | (This row contains the value of BS1|BS2|BS3)
...(2*N rows total because there was 2 type of label)...

Я знаю, как это сделать в C #, но есть ли возможность напрямую сделать это с помощью оператора SQL?

То, что я пытался далеко:

SELECT "A" as LABEL, AS1 as S1, AS2 as S2, AS3 FROM MyTABLE

Но как сделать то же самое для метки "B" в том же операторе SQL?

Моя очередь предназначена для MS ACCESS DB, но вы можете использовать любой известный вам SQL, я постараюсь адаптировать его для доступа, если это возможно.

Ответы [ 2 ]

1 голос
/ 12 июня 2019

Вы можете объединить два набора вместе, например:

select 'A' as label, t1.as1 as s1, t1.as2 as s2, t1.as3 as s3
from mytable t1
union all
select 'B' as label, t2.bs1 as s1, t2.bs2 as s2, t2.bs3 as s3
from mytable t2
1 голос
/ 12 июня 2019

Вы можете сделать это с помощью UNION ALL

select 'A' as Label
   , AS1 as S1
   , AS2 as S2
   , AS3 as S3
from Table
UNION ALL
select 'B' as Label
   , BS1 as S1
   , BS2 as S2
   , BS3 as S3
from Table
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...