Php 将两个MySql组合成一个查询
为了提高效率,我需要将两个sql查询组合成一个查询,只是不知道如何做。基本上,我需要查询我的供应商,然后针对每个供应商检查列表表是否有多条基于供应商id匹配的记录,如果有,则我需要返回供应商名称和id。以下是我的两个查询: 问题1: 问题2:Php 将两个MySql组合成一个查询,php,mysql,Php,Mysql,为了提高效率,我需要将两个sql查询组合成一个查询,只是不知道如何做。基本上,我需要查询我的供应商,然后针对每个供应商检查列表表是否有多条基于供应商id匹配的记录,如果有,则我需要返回供应商名称和id。以下是我的两个查询: 问题1: 问题2: 您已经在第二个查询中加入了供应商,因此您只需将供应商名称和id添加到您的SELECT and GROUP BY SELECT s.name, s.id FROM Supplier s SELECT l.
您已经在第二个查询中加入了供应商,因此您只需将供应商名称和id添加到您的SELECT and GROUP BY
SELECT s.name, s.id
FROM Supplier s
SELECT l.asin,
l.id,
COUNT(*) c
FROM Listing l
LEFT JOIN Product p
ON p.id = l.product_id
LEFT JOIN Supplier s
ON p.supplier_id = s.id
WHERE (l.matchValidated IS NULL OR l.matchValidated = 0)
AND s.id = SUPPLIER_ID_GOES_HERE
GROUP BY l.asin HAVING c > 1);
SELECT l.asin,
l.id,
s.name AS supplier_name,
s.id AS supplier_id,
COUNT(*) c
FROM Listing l
LEFT JOIN Product p
ON p.id = l.product_id
LEFT JOIN Supplier s
ON p.supplier_id = s.id
WHERE (l.matchValidated IS NULL OR l.matchValidated = 0)
GROUP BY l.asin, l.id, s.name, s.id
HAVING c > 1;