2011-07-31 6 views
1

私は何とか次のことを行う方法がありますか?PHP MySQLが結合する

表ONE

id c_id type 
------------------- 
1 1  7 
2 2  7 
3 3  5 
4 4  7 

表TWO

id title live 
------------------- 
1 row1 1 
2 row2 0 
3 row3 0 
4 row4 1 

C_ID列は、表2〜表ONEからのデータをリンクします。例:表1では、c_idが2の場合、表ONEのその行は、表2の行2に直接リンクされ、タイトル2は「row2」です。

私は、テーブルONEからタイプ7ですべてを選択したいのですが、テーブル二つにその関連データが1

ここ

私はそれを行うだろうと思ってみましょうにライブセットを持っている場合にのみ、これは」doesnのT動作するように見える:

SELECT * FROM ONE, TWO WHERE ONE.type='7' AND TWO.live='1' ORDER BY ONE.id DESC LIMIT 5 

もののテーブルONEタイプ「7」との三列、行のみ表1及び2の関連する行を持っているので、私は、上記の表ONEから行1および4のみを返すことを期待します2人がライブ1に設定されています。

+0

実際に何が返されますか? 'JOIN'述語がありません。 –

答えて

0

暗黙の参加を使用しようとしました:

SELECT ONE.* FROM ONE, TWO WHERE ONE.type='7' AND TWO.live='1' AND ONE.c_id = TWO.id ORDER BY ONE.id DESC LIMIT 5 
+0

ありがとう!私はこれがうまくいくと思います。私は両方のテーブルからすべてのデータを返したいので、「SELECT ONE。* FROM ONE」を「SELECT * FROM ONE」に変更しなければなりませんでした。私はおそらく私の質問で明確にしていませんでした。再度、感謝します :) – Jack

0
select * from one join two on c_id = two.id where type=7 and live = 1 
order by one.id desc limit 5