0

2 つのテーブルの情報を表示する結合​​クエリがありますが、いずれかのテーブルからレコードが削除されると、結合されたレコードが表示されません。結合されたレコードを表示したいのですが、最初のテーブルのデータが表示され、2 番目のテーブルの情報が表示されません。

ここに私が取り組んでいるクエリがあります。

$result = mysql_query("SELECT user_groups.*, pricing_groups.* FROM user_groups inner join pricing_groups on user_groups.pricing_group_id = pricing_groups.id LIMIT 2,18446744073709551615")

私はそれを 2 で制限しています。次のバージョンでもそれが必要です。

user_groups からのレコードに関連付けられている、pricing_groups からのレコードが削除された場合、ユーザー グループ情報を表示しても問題ありません。実際、ユーザーグループ情報を表示したいのです。逆に、ユーザー グループが削除された場合は、ユーザー グループ情報も価格グループ情報も表示しなくてもかまいません。

4

1 に答える 1

2

すべてのレコードを含めるには、次のようuser_groupsに使用する必要があります。LEFT JOIN

SELECT ug.*, pg.* 
FROM user_groups AS ug
LEFT JOIN pricing_groups AS pg
ON ug.pricing_group_id = pg.id 
LIMIT 2,18446744073709551615

LEFT JOIN、左側のテーブル ( ) からすべての行を返しuser_groups、右側のテーブル ( ) から一致する行を返しますpricing_groups。一致しない場合、結果は右側で NULL になります。

于 2013-11-11T15:13:03.397 に答える