ps_shop
テーブルに複数のショップがあり、店舗の一部にテーブルがありますが、ps_shop
テーブルの店舗は、ユーザーIDとショップ名でに挿入するのに必要なテーブルにありません。ここにショップ名ps_shop
テーブル=店舗名ps_storeinfo
テーブル。ここで私はこのためのSQLクエリを書いていると私はすべてのデータを取得しているが、複数のユーザーが複数のユーザーを持っている場合は、複数のユーザーが私のSQLによって来ています。 1つのショップに1人のユーザーが必要です。内部結合と左結合クエリでさらに行がある場合、1つの行を表示するにはどうすればよいですか?
ps_ employee_shop
テーブルユーザーは、ショップIDのショップベースに割り当てられます。そしてps_ employee
では、ユーザーのためのテーブルです。これはprestashop 1.6用です。
私のSQLは以下のとおりである:
$table_prefix = _DB_PREFIX_;
'SELECT ps.*, pe.email, pe.firstname, pe.lastname, pes.id_employee,psi.storename
FROM '.$table_prefix.'shop ps
LEFT JOIN '.$table_prefix.'storeinfo psi ON ps.name = psi.storename
INNER JOIN '.$table_prefix.'employee_shop pes ON ps.id_shop = pes.id_shop
INNER JOIN '.$table_prefix.'employee pe ON pes.id_employee = pe.id_employee where ps.id_shop <>1 and pe.id_employee <>1
GROUP BY pes.id_employee
';
出力画像は、次のとおりです。
まあ
「店舗主キーによるグループ」を追加するだけで動作するはずです –
ありがとうございます。あなたの提案は機能しています。 –
この編集でこの質問の書式を修正しました。 – mertyildiran