いつもお世話になっております。
SQLを学んで3ヶ月の初心者です。
下記の内容でご理解いただけ、分かる方がいましたら教えていただけないでしょうか。
一応、自分なりに以下作成したのですが、結果が反映されなく困っています。
よろしくお願い致します。
※質問内容※
・条件に従い、Aテーブルから必要な項目を抜き出し、Bワークテーブルを作成する。
・@・・・頭で宣言しています。
delete from Bワークテーブル
insert into Bワークテーブル
(
ID,
CD,
伝票番号,
部門CD,
引当日,
ユーザID,
)
select Aテーブル
Cテーブル.ID,
Aテーブル.CD,
Aテーブル.伝票番号,
Aテーブル.部門CD,
Aテーブル.引当日,
Aテーブル.ユーザID,
from Aテーブル
INNER JOIN Cテーブル
ON Cテーブル.ID = @ID
where Aテーブル.CD = @CD
and ((Aテーブル.伝票番号 >= @伝票番号FROM) OR (@伝票番番号FROM IS NULL))
and ((Aテーブル.伝票番号 <= @伝票番号TO) OR (@伝票番号TO IS NULL))
以上。
No.1ベストアンサー
- 回答日時:
「反映されない」が「クエリ自体がエラーになる」という意味であれば
・select 直後の「Aテーブル」の記載
・「@伝票番番号FROM」
・「ユーザID」が最後の列なのに後ろにカンマがついている
正直これらは質問するときの打ち間違いなのか、ソースもそうなっているのか、全く判別ができません。
「反映されない」が「0行処理されました」と表示されるという意味であれば、
要は対象データがヒットしないということで、
・@IDがCテーブルのIDに存在しない
・@CDがAテーブルのCDに存在しない
・@伝票番号FROM~@伝票番号TOの間にあるAテーブルの伝票番号が存在しない
(@IDや@CDをセットしたつもりでも、実はセットされてないとかも含む)
のいずれかだと思います。
後者の場合、
--delete from Bワークテーブル
--insert into Bワークテーブル
--(
--ID,
--CD,
--伝票番号,
--部門CD,
--引当日,
--ユーザID
--)
select
Cテーブル.ID,
Aテーブル.CD,
Aテーブル.伝票番号,
Aテーブル.部門CD,
Aテーブル.引当日,
Aテーブル.ユーザID
from Aテーブル
INNER JOIN Cテーブル
ON Cテーブル.ID = @ID
--where Aテーブル.CD = @CD
--and ((Aテーブル.伝票番号 >= @伝票番号FROM) OR (@伝票番番号FROM IS NULL))
--and ((Aテーブル.伝票番号 <= @伝票番号TO) OR (@伝票番号TO IS NULL))
のように条件指定部分やINSERT部分をコメントアウトして、単なるSELECT文として結果が返るか調べ、
あとは徐々に条件指定を増やしてチェックするのが一般的です。
お礼が遅くなり申し訳ございません。
後者のように、0件で返ってきてしまうのです。
まだ時間があるので、ご指摘の様な方法で確認してみることにします。
ありがとうございますした!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Oracle 下記のsqlで取得されるレコード以外を取得する方法ありますでしょうか。 SELECT B.番号, B 2 2022/04/20 23:21
- Oracle SQL update方法 2 2022/06/22 14:07
- Oracle sqlで質問です。 Aテーブルの情報をBテーブルに更新かけたいです。 やりたいことは、Bテーブルの受 1 2023/05/17 11:17
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- Oracle 質問です。 下記のテーブルとデータがあり、 取得想定結果のように出力したいです。 下記のsqlだと0 2 2023/05/23 19:10
- Oracle sqlで質問です。 aテーブルとbテーブルがあり、下記のsqlで取得したidとnameに一致しないレ 1 2022/04/20 20:34
- Access(アクセス) アクセス 削除するレコードを含んだテーブルを指定してくださいのエラー対処方法 1 2022/11/24 15:01
- Oracle sqlで質問です。 Aテーブルの登録番号をキーにBテーブルから確認番号を取得したいのですが、Bテーブ 4 2023/05/18 13:08
- Oracle sqlのupdate文で質問です。 テーブルBの番号をキーにテーブルAの身長をテーブルBの身長に更新 2 2022/11/02 15:15
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQLです!!教えてください。あ...
-
バイキングのトレーの形
-
複雑なSQL文について
-
特定物と不代替物の違い
-
アクセスのリンクテーブル一覧...
-
L2SWはARPテーブルを持っている?
-
いずれかの組み合わせが存在す...
-
ちょっとぐらいの時間なら里山...
-
エクセルで都道府県、市区町村...
-
男性と2人で飲食店に行きテーブ...
-
外部キーだけのテーブル(主キ...
-
MACアドレス見えない
-
テーブル名の前のドットの意味
-
オーダーの覚え方について
-
ACCESS テーブルのRENAME
-
複数テーブルにわたるCOUNT
-
EXCEL マクロで行を挿入して貼...
-
ダイニングテーブルの真上に来...
-
SQLです!!教えてください。
-
モンスターハンター3rd テーブル
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
L2SWはARPテーブルを持っている?
-
外部キーだけのテーブル(主キ...
-
fetch_arrayでのエラー
-
テーブルリンク リンク元を知...
-
男性と2人で飲食店に行きテーブ...
-
会社の飲み会の幹事になり、座...
-
SQLです!!教えてください。
-
面接のときテーブルが正面に。...
-
飲み会で、座敷orテーブルどち...
-
「テーブルに座って……」という...
-
複雑なSQL文について
-
このテーブルで
-
MySQLで複数テーブルを作成する
-
アクセスのリンクテーブル一覧...
-
ちょっとぐらいの時間なら里山...
-
SQLでテーブルの値を集計して、...
-
論理名とコメント構文(?)について
-
件数の多い順にselect
-
【PHP】SQL文のSUM関数で出力し...
-
オーダーの覚え方について
おすすめ情報