• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:結合について質問です)

SQLite3データベースを使用した結合についての質問

このQ&Aのポイント
  • SQLite3データベースを使用している場合、2つのテーブルt1とt2を結合してt1.idに対してグループ化を行い、山田花子さんはアメリカへ行ったことがあることを取得する方法について質問です。
  • t2に山田太郎君の項目がなくてもNULLとして取得したい場合、どのようにすれば良いか教えてください。
  • 以下は欲しい表の形です。t1.id, t1.名前, t2.国のカラムを持ち、山田花子さんの場合はt2テーブルと結合してアメリカに行ったことがあることを示し、山田太郎さんの場合はt2テーブルがないため、結合しても取得できないことを示しています。

質問者が選んだベストアンサー

  • ベストアンサー
  • yamada_g
  • ベストアンサー率68% (258/374)
回答No.1

外部結合すればいいのではないでしょうか。 select t1.id,t1.名前,min(t2.国) as 国 from t1 left join t2 on (t2.t1id = t1.id) group by t1.id,t1.名前; 山田花子さんのアメリカ、イギリスのうち どちらを取得するのかの条件が不明なのでmin関数で取得しています。 そこらへんは適当に修正してください。 一応動作確認はしました。 http://ideone.com/RY2Ku

pnck
質問者

お礼

早速教えていただいたSQLで試してみたところ、 思ったとおりの結果になりました。 結合でちゃんとできたんですね。 精進したいと思います。 本当に助かりました。どうもありがとうございました。

関連するQ&A