-1

SQLとLINQを使用して、テーブルに基づいて行のリストを作成しようとしています。利用可能なテーブルは次のとおりです。

ID  SName  SValue  LName  LValue  FName  FValue
1   TextS  1.1     null   null    null   null
2    null  null    TextL  2.2     null   null
3    null  null    null   null    TextF  3.3

次のようなリストを生成できるクエリを作成しようとしています。

listColumn1  listColumn2
TextS        1.1
TextL        2.2
TextF        3.3

あなたの専門家のアドバイスを手伝ってください。ありがとうございました。

4

1 に答える 1

1

使用しているRDBMSを指定していませんが、SQL Server 2008+を使用していて、これをSQLで実行してから結果を使用する場合は、次UNPIVOTのデータを使用できます。

SELECT x.listColumn1,
  x.listColumn2
FROM YourTable t
CROSS APPLY 
(
    VALUES
        (t.SName, t.SValue),
        (t.LName, t.LValue),
        (t.FName, t.FValue)
) x (listColumn1, listColumn2)
where x.listColumn1 is not null
  and x.listColumn2 is not null

SQL FiddlewithDemoを参照してください

結果:

| LISTCOLUMN1 | LISTCOLUMN2 |
-----------------------------
|       TextS |         1.1 |
|       TextL |         2.2 |
|       TextF |         3.3 |
于 2012-12-07T15:17:35.267 に答える