搜索多个数据库以输出最低值

时间:2017-04-06 13:21:14

标签: php mysql mysqli

$query = mysqli_query($mysqli, "SELECT product_name ,MIN(product_price) product_price,link FROM(
select jumia.product_name,jumia.product_price,jumia.product_image,jumia.link from jumia INNER JOIN
jumia ON jumia.id = olx.id 
where product.name like '%{$search}%'
UNION
select olx.product_name,olx.product_price,olx.product_image, olx.link from olx INNER JOIN
olx ON olx.id =  jumia.id
where product.name like '%{$search}%')Minim
GROUP BY product_name,product_image
");

我正在尝试从两个具有相似列名的表创建一个查询,如上所示,这将允许我显示两个价格最低的表之间的行。

例如,如果搜索名为product_name的{​​{1}},则应显示我的数据库中两个表名之间价格较低的匹配项。一些帮助将不胜感激

2 个答案:

答案 0 :(得分:0)

我认为这是你想要做的一般想法:

SELECT id, price
FROM (SELECT id, price FROM T1 WHERE price = (SELECT min(price) FROM T1)
      UNION
      SELECT id, price FROM T2 WHERE price = (SELECT min(price) FROM T2)
     ) AS M
ORDER BY price ASC
LIMIT 1

答案 1 :(得分:0)

结束更改代码并删除最后的订单,这终于奏效了。我没有使用外键正确链接我的数据库,并更改了我的代码以反映这一点。

$query = mysqli_query($mysqli, "
SELECT product_name 
     , MIN(product_price) product_price
     , link 
  FROM
     ( select j.product_name
            , j.product_price
            , j.link 
         from jumia j
         JOIN olx 
           ON j.categoryID = olx.categoryID 
        where j.product_name like '%{$search}%'
        UNION select olx.product_name
                   , olx.product_price
                   , olx.link 
                from olx 
                JOIN jumia 
                  ON jumia.categoryID = olx.categoryID 
               where olx.product_name like '%{$search}%'
     ) x
");
相关问题