2016-12-10 18 views
1

PHPのSQLクエリにはほとんど問題がありません。 テーブルpostからカテゴリexの行を取得したいとします。 'アート'。 この表には私のカテゴリの名前は含まれていません(category_idのみ)。 これをクエリにどのように接続するのですか?SELECTクエリの関係(PHP)

テーブル:

post: 

id, title, category_id 

category: 

id, name 

私はこの方法を試してみましたが、それはない作品。

SELECT * FROM post WHERE category_id = category.id AND category.name="art"; 

誰でも手伝ってもらえますか?ありがとう。あなたが登録しよう

SELECT * FROM post 
INNER JOIN category 
WHERE category_id = category.id AND category.name="art"; 

答えて

1

あなたは例えば、カテゴリテーブルのname列に照会するjoinを使用する必要があります。:

SELECT p.* 
FROM post p JOIN category c ON p.category_id = c.id 
WHERE c.name = 'art'; 
+0

ありがとう:あなたのスキーマを考える

が、これはあなたの出発点を与える必要があります。それは物事を読むのをもっと簡単にする実践的なIMOです... –

+0

ありがとう@cale_b私はOPもこのプラクティスに従うと思います。彼のために良い – e4c5

0

が欠落している

3

あなたがテーブルをjoinする必要があります。キーワードを大文字化のための

SELECT p.* FROM post p INNER JOIN category c ON p.category_id = c.id WHERE c.name = 'art'; 
+0

または 'INNER JOINカテゴリc ON p.category_id = c.id AND c.name = 'art'' .... –