2015-12-18 112 views
0

有一個名爲供應商提供了以下數據表:反向SQL查詢可能嗎?

 
    supplier_id minimum_order_price 
    1   100 
    2   55 
    4   33 

有一個表叫suppliers_products具有以下數據: 假設的product_id只與一家供應商。

 

    supplier_id product_id 
    1   3237022467 
    1   3298604931 
    2   1792078659 
    2   3237022083 
    4   1963023491 

一個supplier_id可能有許多product_id。

我有一個數據以這樣的方式,來自某個第三方的product_id及其價格。 例子:

 
product_id  price 
3237022467  45 
3298604931  56 
1792078659  78 
3237022083  123 
1963023491  65 

這是可能的,只顯示結果哪個產品的價格比其供應商minimum_order_price更大?

假設product_id只與一個供應商聯繫。

回答

3

嘗試這種解決方案

SELECT s.supplier_id, 
     s.minimum_order_price, 
     sp.product_id, 
     pp.price 
FROM suppliers s 
    INNER JOIN suppliers_products sp ON s.supplier_id = sp.supplier_id 
    INNER JOIN product_prices pp ON pp.product_id = sp.product_id 
WHERE s.minimum_order_price < pp.price 
0

可能,這將幫助你

select suppliers_products.* from suppliers_products 

left join suppliers 
on suppliers.supplier_id = suppliers_products 
.supplier_id 
left join product 
on suppliers_products.product_id = product.product_id 

where product.price > suppliers.minimum_order_price 
0
select third_party_table.product_id, third_party_table.price from 
    third_party_table, suppliers_products, suppliers 
where third_party_table.product_id = suppliers_products.product_id 
     and suppliers_products.supplier_id = suppliers.supplier_id 
     and third_party_table.price> suppliers.price