- ベストアンサー
※ 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文は何ですか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
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に相応しくない点は修正されて下さい。 考え方のみを参考になさって下さい。
お礼
ご返答ありがとうございます。 そのやり方でできました。ありがとうございます。