2009年5月 7日

[mysql 14829] Re: SQL文、お知恵を拝借させてください

あきら様、とみた様、早速の回答ありがとうございます。


> 4.0だとサブクエリが使えませんよね?
>
> SELECT
> DISTINCT food
> FROM

> table1
> WHERE
> food not in ( select food from table1 where name = '井上' )
>
> サブクエリが利用できればこんな感じでしょうか

はい。これに近いものは何度も試していたのですが、エラーが出ていました。
Ver.4でサブクエリが使えないのが原因だったのですね。無知でした。

> SELECT
> food, sum(IF(name='井上',1,0)) as ct
> FROM
> table1
> GROUP BY
> food
>
これの動作、確認させていただきました。
いい感じです。

> 試行錯誤の末、次のようにしたらそれっぽいリストが抜け出せました。
>
> mysql> select distinct t1.name,t2.food from (table1 t1, table1 t2) left join table1 t3 on t1.name=t3.name and t2.food=t3.food where t3.name is null;
> +------+--------+
> | name | food |
> +------+--------+
> | 井上 | りんご |
> | 青木 | みかん |
> | 井上 | ぶどう |
> +------+--------+
>
> MySQL 4.0 が入手できなかったので、5.1.31 での結果ですけど。
>
こちらのとみた様の提示いただいたものも、確認できました。Ver.4でも同結果得られました。
ご苦労頂きありがとうございました。とりあえず、こちらのものを使わせていただきたいと思います。

とは言うものの、サブクエリが使えると何かと便利そうですので、機会を見てVer.5へ変更してみ
ようと思います。

今後とも、よろしくお願い申し上げます。


投稿者 xml-rpc : 2009年5月 7日 02:48
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/84868
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。