人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

MYSQLで二段階?で検索する方法が分かりません。
<テーブルの形>
AテーブルとBテーブルがあります。(AとBの関係は1対nです)
Aテーブルには
id
name

Bテーブルには
id
a_id → Aテーブルの外部キーです。
status1 (1 or NULL)
status2 (1 or NULL)

*ちなみstatus1とstatsu2は両方1の場合はありません。 どちらか片方1もくは全てNULLです。

<例 データ>
Aテーブルのデータ
------------------------
id,name
------------------------
1,'テスト1'
2,'テスト2'
3,'テスト3'
4,'テスト4'

Bテーブルのデータ
------------------------
id,a_id,status1,status2
------------------------
1,1,1,null
2,1,null,1
3,2,1,null
4,3,1,null
5,4,1,null

<抽出したい条件>
A テーブルを基準として Bテーブルのstatus1が1を絞こんだデータから
Bテーブルのstatus2が1のフィールドを持っているAデータとBデーター(statusが1のフィールド)を表示させたいです
取得したい内容はこんな感じです。
------------------------------------------
A.id,A.name,B.id,B.a_id,B.status1,B.status2
------------------------------------------
1,'テスト1',1,1,1,null
2,'テスト2',3,2,1,null

何か簡単なやり方などあるんでしょうか?



●質問者: phperkin
●カテゴリ:コンピュータ ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● Sampo
ベストアンサー
SELECT
 A.id,A.name,B.id,B.a_id,B.status1,B.status2
FROM
 A INNER JOIN B ON A.id=B.a=id
WHERE
 B.status1 = 1
AND
 A.id IN (SELECT BB.a_id FROM B AS BB WHERE BB.status2 = 1)

http://dummy

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ