
現在VB.net2005とSQLServer2005にてプログラムを組んでいます。
以下のように、サブクエリにて抽出されたStockテーブルと
Tagテーブルを結合するSQL文を組みました。
*行頭は列番号です。
01- SELECT * FROM
02- (
03- SELECT A1.*, A3.* FROM
04- (
05- SELECT A2.* FROM stock AS A2
06- WHERE A2.StockDay < #日付# '【SQLserverで流す時は "CONVERT(DATETIME, '日付')"】
07- AND A2.ShopCode = '店番号'
08- ) AS A1
09- LEFT JOIN tag AS A3
10- ON A1.StockNo = A3.StockNo
11- ) AS S1
これだとACCESS2000のクエリ上では正しく実行できます。
しかし、.net2005のサーバエクスプローラ上で上記SQL文を流しても、
「列 'StockNo' が 'S1' に複数回指定されました。」
とエラーが出てしまい実行することができません。
行03を "SELECT A1.* FROM" にするとSQLServer2005でも動きますが、
tagテーブルのフィールドが結果に含まれません。
tagテーブルのフィールドも結果に含みたいです。
どなたか原因や回避方法をご存知の方いらっしゃいましたら、
お手数ですが是非ともご教示頂きたいです。
よろしくお願い致します。
No.2ベストアンサー
- 回答日時:
10行目を見るとStockNo でA1,A3共に結合しているので、
A1,A3テーブル共にStockNoというフィールドが存在している
と思います。
そこで、3行目で、A1.*, A3.* としているので
S1というデーぶるには、A1,A3テーブルの全フィールドと
していますが、StockNoフィールドがどちらにも入っているので
どちらを適用してよいかわからず、エラーになっていると思います。
なので、3行目を必要なものだけに書き換えては、いかがでしょうか?
A1.StockNo,A3.hoge1,A3.hoge2・・・・・
私も、試す環境がありませんので、予想だけですが・・・
回答ありがとうございます。
ご教示頂いた内容で解決する事が出来ました。
エラー文を冷静に読めば判りそうな原因でしたね…。
以後気をつけます。
本当にありがとうございました。
No.1
- 回答日時:
環境がないので、試してはいませんが、
03- SELECT A1.*, A3.* FROM
04- (
05- SELECT A2.* FROM stock AS A2
06- WHERE A2.StockDay < #日付# '【SQLserverで流す時は "CONVERT(DATETIME, '日付')"】
07- AND A2.ShopCode = '店番号'
08- ) AS A1
09- LEFT JOIN tag AS A3
10- ON A1.StockNo = A3.StockNo
これだけでは、エラーになってしまうのですか?
この回答への補足
早速の回答ありがとうございます。
書き忘れていましたが、01,02,11の行を外すとエラーにはなりません。
しかし、これはこの後に別の式"S2"とJOINする必要があるために付けています。
S1と別名をつけるのは諦めなければならないでしょうか…?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL SQLです。こんな感じですか?あってますか? うまくいきません教えてくださいお願いします 1 2023/07/08 15:27
- Oracle 下記のsqlで取得されるレコード以外を取得する方法ありますでしょうか。 SELECT B.番号, B 2 2022/04/20 23:21
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- MySQL うまくいきません教えてくださいお願いしますSQLです。クエリ構文です。 1 2023/07/07 12:39
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- MySQL SQLです。下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 「昨年の各月の総降 1 2023/07/01 00:32
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
- Oracle 質問です。 下記のテーブルとデータがあり、 取得想定結果のように出力したいです。 下記のsqlだと0 2 2023/05/23 19:10
- MySQL PhpMyAdminで作成して実行せよ。 東京23区を、皇居を中心とした4つのエリア(南東, 南西, 1 2023/06/11 11:58
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
このQ&Aを見た人はこんなQ&Aも見ています
-
SQLのエラー(~付近に不適切な構文があります)
SQL Server
-
『列名 '担当者CD' があいまいです。』
Microsoft ASP
-
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
-
4
EXISTSを使ったDELETE文
SQL Server
-
5
T-SQLで任意の箇所で強制終了する方法
SQL Server
-
6
GROUP BYを行った後に結合したい。
Oracle
-
7
型 varchar から型 numeric への変換エラー。
その他(データベース)
-
8
Excelのオートシェイプで2箇所折れ曲がった矢印
Excel(エクセル)
-
9
【Transact-sql】 execの結果をoutputパラメータに持たせたい
SQL Server
-
10
副問合せの書き方について
SQL Server
-
11
SQLServerでNULLを挿入したいです
SQL Server
-
12
DataGridの中身をDataSetにテーブルとして保存する方法 (初心者)
Visual Basic(VBA)
-
13
検索結果の列数を動的に変更したい
SQL Server
-
14
SUBSTRING 関数に渡した長さのパラメータが無効です。
SQL Server
-
15
「タイプ初期化子が例外をスローしました」エラー何?
Visual Basic(VBA)
-
16
DBの定義のサイズを大きくし過ぎると問題ある?
その他(データベース)
-
17
SQLで列名を変数にできないでしょうか
SQL Server
-
18
CSVファイルの中で、「 , 」カンマを使いたい
その他(コンピューター・テクノロジー)
-
19
Oracle10g・・ODBCで接続できない
Oracle
-
20
Designer.vbは直接コードをいじってはだめ?
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
INSERT INTO ステートメントに...
-
ファイルメーカーでCountifの様...
-
Accessのフィールド数が255しか...
-
ACCESSでテーブルのチェックを...
-
Accessでテーブルの値をテキス...
-
Access:リンクテーブルマネー...
-
ACCESSでの連番作成
-
法則にのっとった入力設定を行...
-
主キーはオートナンバー型のID...
-
accessのレポートで元になるテ...
-
ExcelのデータをコピーでACCESS...
-
SQLServer2005のSQL文での別名...
-
Accessで、固定アルファベット+...
-
フィールド数の多すぎる・フィ...
-
文字型フィールドの数値データ...
-
ACCESSで和暦を西暦に・・・
-
フォームのデータシートビュー...
-
ACCESS レーダーチャートのデー...
-
ACCESSでオートナンバーを任意...
-
【Access】フォームで自動計算...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
INSERT INTO ステートメントに...
-
Accessのフィールド数が255しか...
-
ACCESSで400以上のフィールドが...
-
SQLServer2005のSQL文での別名...
-
アクセス エラーを数値「0」に...
-
accessのレポートで元になるテ...
-
Accessでテーブルの値をテキス...
-
ACCESSでの改行コード
-
ACCESSでテーブルのチェックを...
-
ExcelのデータをコピーでACCESS...
-
ACCESS検索★ある文字を複数のフ...
-
Access 昇順・降順で並び替え...
-
アクセス メモ型 255文字...
-
アクセス A列コピー B列貼り...
-
【Access】フォームで自動計算...
-
ACCESSでオートナンバーを任意...
-
Access:リンクテーブルマネー...
-
ACCESS VBAにてCSV...
-
Accessで、固定アルファベット+...
-
主キーはオートナンバー型のID...
おすすめ情報