Magentoモジュールでカスタムレポートを作成していますが、私はこの問題でSQLに苦労しています。私は以下のSQLを入れました、そして基本的に、私はこれを 'donor'テーブルの各行に1行戻したいと思います。基本的には、特定の属性を持つ製品の売上総額を取得しています。すべての製品ではなく、持っているだけのもののために売上高の合計、どのように見えるか、MySQLのクエリ3テーブル内部の結合が1行だけを返す
SELECT b.entity_id AS 'Car ID', b.car_name AS 'Car Name', b.car_purchase_price AS 'Car Purchased For', SUM(s.price) AS 'Total Sales'
FROM sales_flat_order_item AS s
INNER JOIN catalog_product_entity_int AS c ON s.sku = c.entity_id
INNER JOIN bs_donor AS b ON c.value = b.entity_id
WHERE c.attribute_id = '971'
これは動作しますが、でも、1行のみを返すには、約20のbs_donorテーブルにあると思った、そしてそれはまた返しますその特定の属性セット。私は、クエリの最後にこれを追加した場合:
AND c.value = '50'
それは正しいデータを取得し、私が必要とする正確に何であるが、明らかに単に「50」のIDまたは何でも、私はセットを持っているbs_donor行のそこ。内部結合にエラーがあると仮定しており、ネストされたサブクエリを使用しようとしましたが、ただ失われます。
私は、bs_donorの代わりにsales_flat_order_itemからデータを取得している可能性がありますが、それ以外の方法でデータを取得することはできません。
ご協力いただければ幸いです。
完璧、ありがとうTim!ソリューションと説明をありがとう!次回のために常に知っておくこと。 – Shaun
私はそれがジョインの順序よりもGROUP BY句を含んでいると思っています。さらに、最初の参加はインナー参加です!! – Strawberry
あなたがログインするたびに変更されると思います! – Strawberry