こんなSQLテーマ
みなさん、こんなSQLの仕様書が来た時にどういうSQL組んでますか?
別に上から目線なわけじゃなくて僕が普段デザイナ使ってばっかりだったので手打ち環境(Oracle)になって
よくわかんなくなってたって言うだけの話
(Yahoo知恵袋に書けよって言われるような気もしてくるけどあくまで自分が疑問に思ったことを展開しておけばひょっとするとほかの人の役にも立つかもしれないねという意味でのメモ)←言い訳めいている
最初はこう書いた
SQLメモ
SELECT A.HINBAN FROM ZAIKO AS A
INNER JOIN HINBAN AS HIN ON A.HINBAN = HIN.HINBAN
INNER JOIN HINBANLOC AS HINLOC ON A.HINBAN = HINLOC.HINBAN
INNER JOIN M_LOCATION AS LOC ON HINLOC.LOC_CD = LOC.LOC_CD
気になるところはここ
在庫テーブルとロケーションマスタに対する JOIN なのに、ON のところで品番ロケテーブルとロケーションマスタの、イコール条件を書いてしまっている。ちぐはぐだよね。
SQLメモ
SELECT A.HINBAN FROM ZAIKO AS A
INNER JOIN M_LOCATION AS LOC ON HINLOC.LOC_CD = LOC.LOC_CD
最終的には
こう書いたんだけど、まだ業務データが読めてないのもあって試行錯誤してた。
あってる、、、よね?(笑)
検索しても意外に出てこないのよね~こういうの
タイトル名は僕が検索したキーワードで書いた
SQLメモ
SELECT A.HINBAN, LOC.LOC_CD FROM ZAIKO AS A
INNER JOIN HINBAN AS HIN ON A.HINBAN = HIN.HINBAN
INNER JOIN (
SELECT HINLOC.HINBAN FROM HINBANLOC AS HINLOC
INNER JOIN M_LOCATION AS LOC ON HINLOC.LOC_CD = LOC.LOC_CD
) AS LOC