人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

SQLについて教えてください


table1(ID、名前)

id,name
1,田中太郎
2,山本次郎
3,鈴木三郎
4,田中四郎

table2(ID、行った国、回数)

id,country,count
1,アメリカ,2
2,イギリス,1
1,カナダ,4
3,オーストラリア,1
4,カナダ,1
2,フランス,2
3,中国,1
4,スイス,2

上記の2つのテーブルから
名前を「田中」で検索した際に、
下記のような結果を得るにはSQLを
どのように書けばよろしいのでしょうか。

1,田中太郎,アメリカ:2、カナダ:4
4,田中四郎,カナダ:1、スイス:2


よろしくお願いします。


●質問者: worldtravel
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:name SQL アメリカ イギリス オーストラリア
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● pyopyopyo
●60ポイント ベストアンサー

必要な情報は以下のSQLで取り出せます

select A.id, A.name, B.country, B.count 
 from table1 as A, table2 as B 
 where A.id = B.id

出力形式を カナダ:1、スイス:2 のようにする変換は

SQLではなくプログラム言語で書いた方が早いと思います.

◎質問者からの返答

ありがとうございます。

できました。

ところで、このままですと、仮に最初の30件目までを取得したい場合、

(LIMIT 0 , 30 とすると)

一人で30カ国行ったデータがあるとそれで埋まってしまいます。

そうではなく、最初の30人分を取得するにはどうすればよろしいでしょうか。

SQLだけでは難しいでしょうか。

よろしくお願いします。

あっ すいません。 MySQL.4.0.xです

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ