SQL 查询如何添加不存在的列



你好,我需要帮助,我卡住了不要为此欺负我,我知道这对你来说很容易,但我只是不善于思考,哈哈:D在W3School等上阅读了几次手册,但仍然不明白这些废话

我需要和SQL查询,它可以计算代理有多少房地产对象,我目前正在SQL上处理的数据库是关于立陶宛的房地产,任务是列出代理名称(AgVardas(,姓氏(AgPavardė(,电话(AgTelefonas(,代理名称(AgentūrosPavadinimas(和房地产对象(Nekilnojamuobektuskaicius(代理商拥有。(( 中的名称这些括号是我的母语(立陶宛语(的原始值我
必须使用带有内部连接的查询 因为它在其他表中

数据库 https://i.stack.imgur.com/5cwuf.jpg

我尝试过的代码查询是

SELECT `AgPavardė`,`AgVardas`,`AgTelefonas`,`AgentūrosPavadinimas`
FROM `agentai`
INNER JOIN agentūros ON agentūros.AgentūrosNr = agentai.AgentūrosNr

它可以工作,但我需要添加另一列来向我显示代理商拥有的房地产对象(编号(

示例它应该是什么样子

https://i.stack.imgur.com/ve4Pd.jpg

所以问题是如何做到这一点?

您可以将以下查询中的列名和表名替换为立陶宛文名,它应该可以工作。

SELECT agent.Agent_Name, agent.Agent_Surname, agent.Agent_Phone , agency.Agency_name, COUNT(ad.ad_number) as Real_Estate_Objects
FROM tbl_agent agent
INNER JOIN tbl_agency agency ON agency.agency_number = agent.agency_number
INNER JOIN tbl_ads ad ON ad.agent_number = agent.agent_number
GROUP BY agent.Agent_Name, agent.Agent_Surname, agent.Agent_Phone , agency.Agency_name

最简单的方法是首先选择代理的房地产对象的AgentId和计数。你这样做是这样的。

SELECT AgentūrosNr, COUNT(Nekilnojamuobektuskaicius) as AgentObjectsCount 
FROM agentūros 
GROUP BY AgentūrosNr

然后将结果与代理信息合并,然后选择信息列+计数列

SELECT `AgPavardė`,`AgVardas`,`AgTelefonas`,`AgentūrosPavadinimas`, AgentObjectsCount 
FROM `agentai`
INNER JOIN (
SELECT AgentūrosNr, COUNT(Nekilnojamuobektuskaicius) as AgentObjectsCount 
FROM agentūros 
GROUP BY AgentūrosNr
) agentsWithCount
ON agentsWithCount.AgentūrosNr = agentai.AgentūrosNr

相关内容

最新更新