- - PR -
MySQL(3) もう一つよろしくお願いします。
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-08-17 22:27
もう一つ、うまくいかないものがあります。
まず、以下のようにテーブルを作成しました。 mysql> select * from tb1_novel; +------+--------------------+-------+ | code | title | price | +------+--------------------+-------+ | 1111 | しおりとシオリ | 580 | | 2222 | しおりをめぐる冒険 | 680 | | 3333 | SQLをわしずかみ | 430 | | 4444 | しおりパパの贈物 | 980 | +------+--------------------+-------+ 4 rows in set (0.00 sec) そこで、以下のサブクエリを実行しようとしたら、 mysql> select * from tb1_novel where price > (select AVG(price) from tb1_novel); ERROR 1064: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'select AVG(price) from tb1_novel)' at line 1 上記以外でも別のテーブルで elect team, min(point2) as lowest from tb1_results group by team having max(point2) >= (select avg(point1) from tb1_results); ERROR 1064: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'select avg(point1) from tb1_results)' at line 1 になってしまいます。これ以外にもサブクエリは一度も成功してません 。 OS:Fedora2 MySQL:4.0.20 しつこくて済みません。よろしくお願いします。 | ||||
|
投稿日時: 2004-08-17 23:43
米田です。
http://dev.mysql.com/doc/mysql/ja/ANSI_diff_Subqueries.html >1.8.4.1 サブクエリ >MySQL バージョン 4.1 では、サブクエリと派生テーブル(名前のないビュー)がサポート >されています。 See section 6.4.2 サブクエリ構文。 >4.1 より前のバージョンの MySQL については、結合などの方法によって、ほとんどの >サブクエリを記述し直すことができます。 See section 6.4.2.11 初期の MySQL >バージョンに合わせたサブクエリの書き換え。 という訳で、 >MySQL:4.0.20 が原因だと思います。 | ||||
|
投稿日時: 2004-08-17 23:53
そうだったのですね。有難うございます。
もし、私が今から学ぶならまた、現場で使うのなら、4.1 をインストールして、サブクエリを今から使用した方がよろしいのでしょうか?それとも今の 4.0 で学習していった方がよろしいのでしょうか? よろしくお願いします。 | ||||
|
投稿日時: 2004-08-18 04:00
次の view の勉強をしようとしたら、やはり進めないので、 今 updateしました。サブクエリは成功しました。有難うございました。がんばります。
| ||||
|
投稿日時: 2006-10-10 14:51
select a.* from tb1_novel a,tb1_novel b group by a.* having a.price > AVG(b.price) でええよ |
1