はい どうもー! バーチャル のじゃアルファ ブロガーおじさんの僕です!
世の中 世知辛いのじゃー
MS Access でよく SQL ミスって 「マルチパート識別子 ”[フィールド名]” をバインドできませんでした。」 って怒られてしまう僕ですが、初めての人はマルチパート識別子って何?と戸惑うかもしれません。
こんなやつですね。
実はこれ、別に難しいことじゃなくて、「どっかとどっかのフィールド名が重複してるんでどっちを取ってきたらいいんですか?」ってことなんです。
例えば
kokyaku テーブルに jusho, flg, tanto_id というフィールドがあり、
tantoテーブルに id, flg というフィールドがあった場合、
以下のSQLで、
select kokyaku.jusho, flg from kokyaku
left join tanto on kyokyaku.tanto_id = tanto.id
flg は kyokyakuテーブルのですか? それともtantoテーブルのですか?
ということです。
kokyakuテーブルのflgであれば
select kokyaku.jusho, kokyaku.flg from kokyaku
inner join tanto on kyokyaku.tanto_id = tanto.id
tantoテーブルのflgフィールドであれば
select kokyaku.jusho, tanto.flg from kokyaku
inner join tanto on kyokyaku.tanto_id = tanto.id
で解決ですね。
おわり
ver.1.0.2
最近のコメント