SQL Server 2008 R2 Visual Studio 2008
テーブルの設計で悩んでいます。
テーブルAのようなデータがあり、実際には、場所のNo.の数は500点くらいあります。
このデータをSQL to LINQでデータの追加、参照をしたいと思っています。
テーブルA,B、どちらの形式で設計する方がよいのでしょうか。
テーブルAの場合は、見た目がそのままで分かりやすいのですが、データ追加時(INSERT)に多数のデータを
追加する方法が分かりません。
テーブルBの場合は、テーブルAの形式で取得する場合、どうすればよいのか分かりません。
ここから先に進めず困っております。よろしくお願いします。
テーブルA
日付No.1No.2No.3No.4No.5
2011/1/1068374138
2011/1/236036946
2011/1/32289631477
2011/1/4758554641
2011/1/5639212690
2011/1/66123774293
2011/1/75452364441
2011/1/87298306648
2011/1/9203891559
テーブルB
日付場所線量
2011/1/1No.10
2011/1/1No.268
2011/1/1No.337
2011/1/1No.441
2011/1/1No.538
2011/1/2No.13
2011/1/2No.260
2011/1/2No.33
2011/1/2No.469
2011/1/2No.546
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
PIVOT使ってできそう。
実行してないから、エラーになったらゴメン。
SELECT
日付, [No.1], [No.2], [No.3], [No.4], [No.5]
FROM
(
SELECT 日付, 場所, 線量 FROM テーブルB
) T
PIVOT
(
SUM(線量) FOR [日付] IN ([No.1], [No.2], [No.3], [No.4], [No.5])
)
この回答への補足
回答ありがとうございます。
PIVOTで出来ました!
ただ、テーブルBからテーブルAにするのは、時間がものすごく掛かることが分かりました。
テーブルAで設計しようと思います。
そこで、INSERTの方法が分からないですが、
場所はNo.1~No.500あるとします。
datetimeの変数と要素数500の配列のようなものをインサートする方法などあるのでしょうか?
500個の場所のパラメータを用意するとできるのでしょうが、もっといい方法はあるのでしょうか?
よろしければおしえてください。
No.1
- 回答日時:
よくわからんのですが・・
要は日付とNo.(場所?)とそのNoの線量のデータを扱いたいってことですよね?
で、テーブルAの
日付 No.1 No.2 No.3 No.4 No.5...
だと、わかりやすいけど、Noが500ぐらいあるから横に長くなると
なので、テーブルBみたいな案を考えたけどどっちがいいですか?ってことですか?
No.が500で打ち止めなら別にAでいいような気もしますけど、無駄に横にながくなりますけどね。
1レコード1Noでもいいのでは?
PK No. 線量 日付
1 No.1 100 2011/1/1
2 No.1 110 2011/1/1
3 No.2 120 2011/1/1
4 No.3 130 2011/1/1
5 No.3 140 2011/1/2
で、取得する際に日付とかNoで絞り込んだり集計したりお好きなように。
最終的にどうデータを取りたいのか、どう管理したいのかが、よくわからんので適当な回答ですが、すいません
この回答への補足
早速の回答、ありがとうございます。
データベース始めたところなので、助かります。
>1レコード1Noでもいいのでは?
私も、正規化というのを知り、その方がいいのかなと思ったのですが、
テーブルBからテーブルAにする仕方がどうしても分かりませんでした。
INNER JOIN というので、結合していくにしても、数が多すぎて現実的ではありません。
なにかいい方法がありますでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Oracle sqlで質問です。 idを元にidに紐付くデータで住所コードがjpのみのデータ以外のidを取得したい 4 2023/03/20 17:41
- Oracle SQL update方法 2 2022/06/22 14:07
- Access(アクセス) MAXで0が出力される 1 2022/03/31 21:43
- Visual Basic(VBA) VBAで、1つのエクセルで、2つのシートからもう1つのシートに条件のある転記コードを教えてください。 1 2023/03/16 18:07
- 経営情報システム accessでの請求管理について 12 2022/06/11 16:20
- Excel(エクセル) EXCEL 関数を教えてください。(A列の同じ値が複数ある場合vlookupで出来ますか) 4 2022/12/07 20:54
- Visual Basic(VBA) VBAで大量データの処理 3 2022/11/15 21:53
- PHP MySql PHP 2つのテーブルをJOINで結合 user_idで抽出 1 2023/01/03 14:04
- Excel(エクセル) VBAで、シート間の転記するコードを教えてください。 4 2023/03/26 10:43
- Visual Basic(VBA) マクロで設定時刻の入力がわかりません 2 2022/03/29 02:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【SQL】他テーブルに含まれる値...
-
テーブル名が可変の場合のクエ...
-
ADO+ODBCでテーブルに接続する...
-
SQLで、Join句で結合したテ...
-
データ無し時は空白行にしたい...
-
SQLサーバに対するSQL文で抽出...
-
ACCESSのVBAにてExcelに行...
-
ACCESS-VBAでEXCEL出力
-
重複データの一方を削除するSQL...
-
ACCESS クエリーでソートの不具合
-
Access特定のテーブルを編集不...
-
既存データをINSERT文にして出...
-
ExcelのVLOOKUP関数の動作をMyS...
-
結合したテーブルをSUMしたい
-
ExcelのMatch関数のようなもの...
-
三科目合計点のクラス別平均点...
-
「都道府県の面積の大きい順に...
-
下記の問合せを行うクエリを、 ...
-
同一テーブル内での比較(最新...
-
副問合せを使わずにUNIONと同様...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【SQL】他テーブルに含まれる値...
-
テーブル名が可変の場合のクエ...
-
結合したテーブルをSUMしたい
-
既存データをINSERT文にして出...
-
SQLで、Join句で結合したテ...
-
データ無し時は空白行にしたい...
-
Accessの構成をコピーしたい
-
ACCESSのVBAにてExcelに行...
-
2つのテーブルをLIKE演算子のよ...
-
SQLサーバに対するSQL文で抽出...
-
ExcelのVLOOKUP関数の動作をMyS...
-
PRIMARY KEYのコピー
-
同一テーブル内での比較(最新...
-
ExcelのMatch関数のようなもの...
-
ADO+ODBCでテーブルに接続する...
-
Access 別のDBに対してDlookup...
-
改行を含んだデータのインポート
-
複数のテーブルからデータを取...
-
ACCESS クエリーでソートの不具合
-
副問合せを使わずにUNIONと同様...
おすすめ情報