2010-12-06 8 views
0

Joinを使用して複数のテーブルから1つのレコードを取得する方法を知っています。どのように複数のレコードを取得しますか?MySQL Joinステートメント

例えば

表:カテゴリ

id 
name 
description 

表:some_table

id 
name 
content 
category_id 

私はすべてのカテゴリの中からすべてのレコードをプルするために、以下の基本的なクエリを延長する方法は?

SELECT c.id, c.name as category_name FROM categories AS c 
+0

複数のテーブルから1つのレコードを取得する方法を教えてください。 –

+0

SELECT s.id、s.name、s.content、c.name as category_name FROM some_table AS s LEFT JOINカテゴリをc ON s.category_id = c.id WHERE s.id = 1 – JasonS

+0

これは単一レコードを取得します。私はすべてのカテゴリと各カテゴリに関連するすべてのレコードを取得したい。 – JasonS

答えて

2

正確な参加は、あなたのニーズによって異なりますが、カテゴリ内の値と一致するsome_tableに少なくとも1つの行がある場合、以下のカテゴリとsome_tableからすべてのデータが表示されます。空のカテゴリは表示されません。 some_tableテーブルからのレコードにNULL値を持つ空のカテゴリレコードを表示する場合は、代わりにLEFT JOINを使用できます。

SELECT * 
FROM categories c 
INNER JOIN some_table st ON (c.id = st.category_id);