C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

SQLServerですが列を分割して取得するには

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■89048 / inTopicNo.1)  SQLServerですが列を分割して取得するには
  
□投稿者/ 夜叉丸 (134回)-(2018/10/29(Mon) 09:03:03)

分類:[.NET 全般] 

テーブルの列がこのようになっています。
A,B,C,A1,B1,C1,A2,B2,C2・・・

これを
A,B,C
A1,B1,C1
A2,B2,C2

として複数行取得したいのですが

SELECT A,B,C
FROM  Table
UNION
SELECT A1,B1,C1
FROM  Table
UNION
SELECT A2,B2,C2
FROM  Table

のようにつなげるしかないのでしょうか?

引用返信 編集キー/
■89054 / inTopicNo.2)  Re[1]: SQLServerですが列を分割して取得するには
□投稿者/ 魔界の仮面弁士 (1899回)-(2018/10/29(Mon) 10:48:50)
No89048 (夜叉丸 さん) に返信
> テーブルの列がこのようになっています。
> A,B,C,A1,B1,C1,A2,B2,C2・・・
> これを
> A,B,C
> A1,B1,C1
> A2,B2,C2
> として複数行取得したいのですが

テーブル設計が列方向に並べられているのであれば、
1 行を 3 行に増やすために、UNION が必要でしょうね。
引用返信 編集キー/
■89056 / inTopicNo.3)  Re[1]: SQLServerですが列を分割して取得するには
□投稿者/ shu (1150回)-(2018/10/29(Mon) 11:48:00)
No89048 (夜叉丸 さん) に返信

SQL Serverからの戻りとしてその結果が必要なのであれば
そうなりますが、
クライアント側コードを混ぜてよければ1行分を普通にSelectして
クライアント側で処理すればよいです。
または
サーバー側でストアドとかユーザー定義関数とかアセンブリにより処理するとか。
引用返信 編集キー/
■89069 / inTopicNo.4)  Re[2]: SQLServerですが列を分割して取得するには
□投稿者/ 夜叉丸 (136回)-(2018/10/30(Tue) 09:35:50)
クライアントは非力なwindowsタブレットなので
できるだけSQLでサーバーの力で何とかできれば

というのと

複数のテーブルと列が多数あるので
SQLが長文になるので何か裏技とまでいかなくても
何らかのやり方があるのかな

と思って何か手があるのかなとお聞きしました。

最初の一度だけなので、地道にUNIONでつないでいきます。

ありがとうございました。



解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ