2016-05-11 12 views
1

商品テーブルには価格(一般価格)の列があります。私はproduct_id、company_id、price(会社固有の製品価格)を持つproduct_priceテーブルをもう一度持っています。最初のテーブルにない場合、2番目のテーブルからデータを取得したい

アイデアは、異なる企業の異なる製品価格を設定して表示することです.product_priceテーブルで選択した会社に価格が設定されていない場合は、productsテーブルから一般価格を取得する必要があります。

私は左結合を試してみました。しかし、=あなたが雄弁使用している場合、戻り値は、他の(別の場合$のものよりも最初の結果からnullのstatment.if場合、私はと考えてそのeasyer

SELECT 
    products.id, products.price, product_price.price 
FROM 
    products 
     LEFT JOIN 
    product_price ON products.id = product_price.product_id 
     AND company_id = $id 
+0

望ましい結果を得ることはありませんでした= null)が実行され、2番目のテーブルからデータがフェッチされますが、これが正確に欲しいのかどうかは分かりませんが、これは私がそのような問題に近づく方法です。 –

+0

ここでは処理時間を短縮したいと思います。の製品。私は、ビューを作成しそこからデータにアクセスすることを好むでしょう。 –

答えて

1
SELECT 
    products.id, 
    COALESCE(product_price.price,products.price) 
FROM 
    products 
LEFT JOIN product_price 
ON products.id = product_price.product_id 
    AND company_id = $id 
関連する問題