こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

MySQLのサブクエリーでエラーがでます

現在MySQLを使って開発をしています。
SQLもMySQLもまだあまり使ったことがないのでなにか大きな勘違いをしている
かもしれませんが、自分で作ったデータベースにMysqlコマンドでアクセスし、
以下のようにselectを行うとsyntaxエラーが発生します。

mysql> select CREATE_DATE from user where cust_id = (select cust_id from customer where memo = 'memo');
ERROR 1064: You have an error in your SQL syntax near 'select cust_id from customer where memo = 'memo')' at line 1

しかしサブクエリーの内容も、その前のselectもそれぞれ下記のように単体で実行すると正常に動作するので、文法的には間違っていないと思います。
ERROR 1064のsyntaxエラーは何を指しているのでしょうか?
ぜひご教示ください。

mysql> select cust_id from customer where memo = 'memo';
+---------+
| cust_id |
+---------+
| 1 |
+---------+
1 row in set (0.00 sec)


mysql> select CREATE_DATE from user where cust_id = '1';
+-------------+
| CREATE_DATE |
+-------------+
| 2001-07-23 |
+-------------+
1 row in set (0.00 sec)

投稿日時 - 2001-07-24 09:55:55

QNo.108525

すぐに回答ほしいです

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

MySQLってサブクエリつかえましたっけ?

Todoリストにはいっているのですが。

参考URL:http://www.mysql.com/documentation/mysql/bychapter/manual_TODO.html#TODO_future

投稿日時 - 2001-07-24 11:30:04

お礼

サブクエリーが使えないDBってあったんですね・・!!
ありがとうございました。m(__)m

投稿日時 - 2001-07-24 12:17:46

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

JOINは駄目?
select user.CREATE_DATE from user , customer where user.cust_id = customer.cust_id and customer.memo = 'memo';
というは駄目ですか?

投稿日時 - 2001-07-24 18:17:41

お礼

たしかに上記の通りでできました。ありがとうございます。
たしかに知人からもjoinを使えばできるはず、と指摘を受けていたところ
なのでjoinについても勉強してみます。
現在はとりあえず最初に書いたサブクエリーを先に実行し、その結果を
再びselectするという2段階でやっていました。

投稿日時 - 2001-07-25 08:37:13

ANo.2

select CREATE_DATE from user where cust_id = (select cust_id from customer where memo = 'memo');
ではなく
select CREATE_DATE from user where cust_id in (select cust_id from customer where memo = 'memo');
ではないですか?
それか EXISTS ではないですか?
JOINでもいいと思いますが...

なおMySQLは使っておりませんので出来なかったらあしからず。

投稿日時 - 2001-07-24 12:18:51

お礼

お返事ありがとうございます。
残念ながら、inとexistを試してみましたが、どちらもダメでした・・

投稿日時 - 2001-07-24 12:32:37

あなたにオススメの質問