反向SQL查询可能吗?

时间:2015-12-18 10:26:00

标签: mysql 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 个答案:

答案 0 :(得分: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

答案 1 :(得分: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

答案 2 :(得分: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