Php SQL左联接问题-结果错误

Php SQL左联接问题-结果错误,php,mysql,sql,phpmyadmin,Php,Mysql,Sql,Phpmyadmin,我又带着另一个问题来到这里。我知道这个主题的标题可能和这里的其他标题一样,但我注意到他们在这方面还有另一个问题 我对SQL左连接有问题。我正在使用MySQL 我想有一个表格,其中类型为六个月,计算为一个月,这可能看起来很奇怪,但出于某些目的,我需要它 我有两个查询,我将显示查询和输出,这将更加具体 第一个查询为期六个月: SELECT objectsoort AS types, COUNT(objectsoort) AS total, prijs AS price, SUM(prijs)/ SU

我又带着另一个问题来到这里。我知道这个主题的标题可能和这里的其他标题一样,但我注意到他们在这方面还有另一个问题

我对SQL左连接有问题。我正在使用MySQL

我想有一个表格,其中类型为六个月,计算为一个月,这可能看起来很奇怪,但出于某些目的,我需要它

我有两个查询,我将显示查询和输出,这将更加具体

第一个查询为期六个月:

SELECT objectsoort AS types, COUNT(objectsoort) AS total, prijs AS price, SUM(prijs)/ SUM(oppervlakte) AS meters
FROM `huislijn`
WHERE <clause statements>
GROUP BY objectsoort
我得到的结果如下:

第二个查询为一个月:

SELECT objectsoort AS types1, COUNT(objectsoort) AS total1, AVG(prijs) AS price1, SUM(prijs)/ SUM(oppervlakte) AS meters1
FROM `huislijn`
WHERE <clause statements>
GROUP BY objectsoort
然后我得到这样的结果:

SELECT a.types1, b.total1, b.price1, b.meters1
FROM (SELECT objectsoort AS types1
FROM  `huislijn` 
WHERE <clause statements> ) a
LEFT JOIN
(SELECT objectsoort AS types12, COUNT( objectsoort ) AS total1, AVG( prijs ) AS price1, SUM( prijs ) / SUM( oppervlakte ) AS meters1
FROM `huislijn` 
WHERE <clause statements> ) b
ON a.types1 = b.types12
GROUP BY types1

我想让它们成为一个整体,所以我使用左连接并获得如下查询:

SELECT a.types1, b.total1, b.price1, b.meters1
FROM (SELECT objectsoort AS types1
FROM  `huislijn` 
WHERE <clause statements> ) a
LEFT JOIN
(SELECT objectsoort AS types12, COUNT( objectsoort ) AS total1, AVG( prijs ) AS price1, SUM( prijs ) / SUM( oppervlakte ) AS meters1
FROM `huislijn` 
WHERE <clause statements> ) b
ON a.types1 = b.types12
GROUP BY types1
但结果并不是我所期望的,因为在“appartement”附近应该会有一些结果,“woning”结果与一个月的查询结果不一样:

SELECT objectsoort AS types1, COUNT(objectsoort) AS total1, AVG(prijs) AS price1, SUM(prijs)/ SUM(oppervlakte) AS meters1
FROM `huislijn`
WHERE <clause statements>
GROUP BY objectsoort

我再说一遍,这会更清楚:我想要六个月的类型和一个月的计算。在这种情况下,这意味着结果应该接近“appartement”和“woning”

所以,我想知道,也许我做错了什么


感谢您的帮助和支持。

好的,我被要求分享解决方案,所以这里是:

正如库拉里斯所说,我在某些地方被ObjectsSoort团团想念。有一个工作查询,我对它做了一些修改,因为我正在处理它,但结果仍然是一样的:

SELECT a.types5, b.total5, b.price5, b.meters5, a.total, a.price, a.meters
FROM (
SELECT objectsoort AS types5, COUNT(objectsoort) AS total, prijs AS price, SUM(prijs)/SUM(oppervlakte) AS meters
FROM  `huislijn` 
WHERE <clause statements>
GROUP BY objectsoort ) a
LEFT JOIN (
SELECT objectsoort AS types15, COUNT(objectsoort) AS total5, AVG(prijs) AS price5, SUM(prijs)/SUM(oppervlakte) AS meters5
FROM `huislijn`
WHERE <clause statements>
GROUP BY objectsoort ) b
ON a.types5 = b.types15
GROUP BY types5
结果是:


谢谢库拉里斯

天哪。我发现问题出在哪里了。谢谢现在一切都好了;我是说在你的第三个问题中,对不起。联接表查询与第二个查询中的查询不同,缺少group by子句。请与我们共享您的问题+解决方案。如果合适,回答自己的问题并接受答案: