• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:別テーブルのカラムを利用してソートしたい)

別テーブルのカラムを利用してソートする方法

このQ&Aのポイント
  • MySQLバージョン4.1.16を使用しています。テーブル「tbl1」をテーブル「tbl2」のcountというカラムを利用してソートする方法を教えてください。
  • 「tbl2」のidというカラムは外部キーで「tbl1」のidと関係しています。
  • SELECT * FROM tbl1 ORDER BY (SELECT id FROM tbl2 ORDER BY count)というSQL文を試しましたが、エラーが返ってきます。正しいSQL文は何ですか?

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

  • ベストアンサー
noname#140971
noname#140971
回答No.1

tab1: id__user_id 1__tanaka 2__sato tab2: id__tab1_id__count 1______1_________10 2______2___________3 id__user_id 2__sato 1__tanaka SELECT* FROM tab1 INNER JOIN tab2 ON tab1.id=tab2.tab1_id ORDER BY tab2.count; SELECT * FROM tab1 ORDER BY CInt(DBLOOKUP("SELECT [count] FROM tab2 WHERE tab1_id=" & id)); MySQL は一度も使ったことはありませんが、多分、INNER JOIN を使えば良いと思います。 質問者のように WHERE節で SELECT文を使うには DBLOOKUP関数の類を自作するしかないと思います。 いわゆるサブクエリーを WHERE節に使おうとしたのが誤まりじゃないですかね。 しかし、列名には name、count など予約語は使われない方が良いと思います。 なお、文法上 MySQLに相応しくない点は修正されて下さい。 考え方のみを参考になさって下さい。

takagoo100
質問者

お礼

ご返答ありがとうございます。 そのやり方でできました。ありがとうございます。

関連するQ&A