最速怪談選手権

MySQLをJAVAで使っています。

指定キーの中で、一番日付の大きなレコード項目全てを
取り出したいのですが、
下記SQLだと、何も抽出されません。

何が間違っているのでしょうか?
さらに、もっと簡単なSQL文はないでしょうか?

SELECT * FROM food
WHERE (food_id = 1) AND (food_name = 'みかん')
AND
(food_id = (SELECT MAX(date) FROM food WHERE (food_id = 1) AND (food_name = 'みかん')))



与える検索キー項目は、food_id=1, food_name=みかん

foodテーブル例

food_id  food_name   date
---------------------------------
1     みかん    2015-01-01
1     みかん    2015-02-01
1     みかん    null
1     みかん    2015-04-01
2     きんめだい  2015-01-01
2     じんたん   2015-02-01
2     コロッケ   2015-02-01

A 回答 (1件)

>food_id = (SELECT MAX(date) FROM food WHERE (food_id = 1) AND (food_name = 'みかん'))


が多分おかしい。

date = (SELECT MAX(date) FROM food WHERE (food_id = 1) AND (food_name = 'みかん'))

ってことじゃないの?
    • good
    • 1
この回答へのお礼

ご回答ありがとうございます。
このSQLは、WEBで昨日どなたかに、教えて頂いたものです。
ですが、どう工夫しても、抽出されなくてこまっていました。

お礼日時:2015/07/16 08:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!