2011-05-01 6 views
0

最初のテーブルから条件に基づいて一つのテーブルから選択する必要がフィールド:SQLクエリは、異なるテーブル

フィールド

C_IDを有するFIELD2

第二テーブルA_ID、B_ID、FIELD1、 A_id、B_id

2番目のテーブルにも存在するB_idを含むすべての行を選択したいと思います。さらに、特定のA_idを持つ行のみを必要とします。私はJOINステートメントを使用しようとしましたが、正しいものを見つけることができません。これまでのところ、私はこのようなクエリを試しましたが、目的の結果は得られませんでした。

SELECT post.* FROM post INNER JOIN subscription ON subscription.iduser = 22 WHERE post.iduser = 22; 

私はこれがすべてMySQL上にあります。

+0

タイプミスを修正しますが、この2つのテーブルを持っている分野を投稿することができますか? –

答えて

1

私のような何か書くでしょう:あなたはあなたが参加する2つの表に同じフィールド名を持っている場合は、JOIN subscription ON subscription.iduser = post.iduserJOIN subscription USING(iduser)のように書くことができ

SELECT post.* 
FROM post 
LEFT JOIN subscription USING (iduser) 
WHERE subscription.iduser = 22 

を。

コードを少し読みやすくします。


アップデートは:

+0

少し修正を加えましたが、基本的な考え方はうまくいきます。 SELECT post。* FROM post LEFT JOINサブスクリプションUSING(idpost)WHERE subscription.iduser = 22; –

関連する問題