MySQLの検索条件について質問です。


[id][name][log_value]
1  month  08
1  day   01
2  month  08
2  day   10

[]はフィールド名
[id]はグループ化されているとお考え下さい。

このような値を持つテーブルがあるとします。
そして検索条件として「8月10日のIDを取得したい」とし、
WHEREで抽出して結果にid2を出したいと思います。

どのようなSQL文を書けば目的の処理が行えるのでしょうか?
MySQLは4.1.22を使っています。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2008/08/27 20:10:37
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:beatgoeson No.1

回答回数128ベストアンサー獲得回数14

「結果にid2を出したい」という意味が解りかねますが、結果のカラム名をid2 と考えると、以下のSQLでいけるのではないでしょうか。

select

id2 = A.id

from

table_xxx A, table_xxx B

where

A.id = B.id and

A.name = 'month' and

B.name = 'day' and

A.log_value = '08' and

B.log_value = '10'

MySQLの環境が無いので、文法に間違いがあったらすみません。

id:kt26

「id2を出したい」のではなく、検索条件にヒットする項目を出したいのです。idの2が抽出されるのは、あくまで”例”です。


出来れば質問をちゃんと読んでいただき、MySQLのある環境の方に回答してもらいたかったです。

2008/08/27 19:39:09
  • id:beatgoeson
    id2とは何を指してるのか明記されていない。
    そもそも質問をちゃんと書いてくれれば、回答もつくんでしょうけど。
    キャンセルですか‥

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません