- - PR -
データ再抽出のやり方
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-10-05 19:58
Windows XP Pro
Visual Studio 2005(Windows Form) SQL Server 2005 でMS AccessのプログラムをVB.NETに移行しています。 いつも拝見させていただいております。 ひとつ、ご質問があります。 Accessでは、まず、データをクエリで抽出し、それをもとに、他のテーブル+抽出したクエリを使って、再度データを抽出しているところがあります。 それを、VB.NETで再現しようと思っています。 現状 sql_Cmd.CommandText = "CREATE VIEW V_データ……" sql_Cmd.ExecuteNonQuery() と、上記のように、ビュー作成しています。 ビューを作成してから、 str_Sql = "SELECT Tb_テーブル.名前 FROM V_データ INNER JOIN Tb_テーブル ON V_データ .コード = Tb_テーブル.コード" Cmd.CommandText = str_Sql adp.SelectCommand = Cmd adp.Fill("データセット", "テーブル10") と、データセットに格納しております。 現状、このやり方で、抽出を行っているのですが、他にいい方法があればと思い、書き込みいたしました。 ご教授おねがいいたします。 | ||||
|
投稿日時: 2006-10-05 20:03
ビューの定義を明らかにしてください。
ビューを、毎回作らなければならないのですか? ビューを作る必要がないような気がします。 _________________ | ||||
|
投稿日時: 2006-10-05 20:33
Jittaさん返答ありがとうございます。
ビューの定義は、 CREATE VIEW V_データ AS SELECT * FROM テーブルA WHERE テーブルA.コード=1 です。 SELECTするテーブルは同じなのですが、コードを指定して抽出したかったため作成しています。 毎回作成しなくてもいいのでしょうか? | ||||
|
投稿日時: 2006-10-05 21:36
はい。そうです。 テーブルやストアドプロシージャのように、データベースに先にストアしておくものです。 一通りざっと基礎的な本を一冊よんでから始めたほうが何かと良いと思います。 _________________ 囚人のジレンマな日々 | ||||
|
投稿日時: 2006-10-05 22:45
インラインビューにすれば
| ||||
|
投稿日時: 2006-10-05 23:53
SELECT Tb_テーブル.名前
FROM テーブルA INNER JOIN Tb_テーブル ON テーブルA.コード = Tb_テーブル.コード WHERE テーブルA.コード=1 でいいのでは? | ||||
|
投稿日時: 2006-10-06 20:15
みなさん返答ありがとうございます。
色々と調べてみた結果、データベースに先にビューを作成することにしました。 これからSQL Serverについて勉強しようと思います。 |
1