2

次の2つのテーブルがあります。

  • ProductCombined-いくつかの製品情報がここに保存されます
  • 製品のパフォーマンス-製品のパフォーマンスが良好かどうかを定義します

これは私の現在のクエリです:

SELECT `prod_combined`.`sku`, `prod_combined`.`titel`, `prod_combined`.`preis_vk`, `prod_performance`.* 
FROM `prod_combined` 
INNER JOIN `prod_performance` ON prod_combined.sku = prod_performance.sku AND 
prod_performance.partner_id = 801 
WHERE (aktiv = 1) AND (active >= 0) 
AND prod_combined.sku = 1006224000 
LIMIT 5

このバージョンでは、フィールド「アクティブ」を0より大きい値に設定する必要があります。

しかし、JOINを必須ではないと見なすクエリが必要です。たとえば、prod_combinedからprod_performanceへの結合がこの製品で成功しなかった場合、クエリによってもフェッチされます。

私はこれを適切に説明しましたか?

よろしく、

マックス

4

2 に答える 2

1

これはうまくいくはずです:

SELECT `prod_combined`.`sku`, `prod_combined`.`titel`, `prod_combined`.`preis_vk`, `prod_performance`.* 
FROM `prod_combined` 
LEFT JOIN `prod_performance` ON prod_combined.sku = prod_performance.sku
  AND prod_performance.partner_id = 801
  AND prod_performance.active >= 0
WHERE prod_combined.aktiv = 1 
  AND prod_combined.sku = 1006224000  
LIMIT 5

LEFT JOIN追加する情報がある場合はprod_performance、それが表示されることを確認します

于 2012-06-13T09:40:56.040 に答える
1
SELECT 
    a.sku, 
    a.titel, 
    a.preis_vk, 
    b.* 
FROM 
    prod_combined a
LEFT JOIN 
    prod_performance b ON a.sku = b.sku 
    AND b.partner_id = 801 
    AND b.active >= 0
WHERE 
    a.aktiv = 1 AND a.sku = 1006224000
LIMIT 5
于 2012-06-13T09:51:34.440 に答える