2008-02-03

教えてプログラマ増田さん

RDBプログラムなんだけど、ありがちなこんな二つのテーブルがあるとします。

地方

地方コード地方名
1北海道
2東北
3関東
4北陸

都道府県

地方コード都道府県コード都道府県
11北海道
22青森
23岩手
24宮城

で、このデータをもとに

みたいな出力が欲しい場合って、どうしてますか?

地方テーブルだけを取得するSQLまず投げて、都道府県テーブルを地方コードを条件にしてその地方の数だけ取得するのか

あるいは、二つのテーブルを外部結合して丸ごと取得して、コード値の変化を見ながら出力の内容をコントロールするプログラムを書くのか

どうしてます?

どちらの方法も、SQL無駄に投げたり、無駄データが入ってきたりでなんか嫌ーな感じがするんですが、どうなんでしょう。

  • なんで悩んでるのかもわからん・・・ select **from 都道府県 tb1left outer join 地方 tb2on tb1.地方コード = tb2.地方コードorder by tb1.地方コード でいいんじゃないの?? 無駄なデータって何? 地...

    • あー、自己レス。 わかった!! 何で悩んでるかわかった。 北海道 -- -- 北海道 東北 -- -- 青森 -- 岩手 -- 宮城 こういうデータが欲しいってこと...

      • なるほど、union query使うという手があるんですね。 それっぽいレコード1発でとれそうだし、プログラムも単純なループで済みそう。 ただ、0っていうマジックナンバー使ってるのがちょ...

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん