2017-08-26 230 views
0

我开始学习SQL,因此需要进行一些练习。其中一个练习,我无法找到如何去做。 我们有一个包含4个表格的数据库。在此练习中,您可以看到以下内容: 显示Almelo人员租用的滑板车的品牌和类型,住在随机街道上,房屋号为2号。额外的条件是支付的总金额应大于100欧元。同时显示合同的总金额。对数据库'数据库'执行SQL查询时出错:在“GROUP”附近:语法错误

我已经尝试了很多,几乎得到它。但现在我得到这个每次错误(见标题)

这是我的查询:

SELECT merk, type, SUM(betaald_bedrag) 
FROM T_contract 
INNER JOIN T_klant ON T_contract.klantnummer = T_klant.klantnummer 
INNER JOIN T_betaling ON T_contract.contractnummer = T_betaling.contractnummer 
WHERE plaats = "Almelo" 
AND adres LIKE "% 2" 
HAVING SUM(betaald_bedrag) > 100 
GROUP BY T_betaling.contractnummer 

能否请你帮我解决这个问题?

+4

'having'后面'group by' –

+0

噢哇...非常感谢 – Niels

+0

它的工作原理!大! – Niels

回答

1
SELECT merk, type, SUM(betaald_bedrag) 
FROM T_contract 
INNER JOIN T_klant ON T_contract.klantnummer = T_klant.klantnummer 
INNER JOIN T_betaling ON T_contract.contractnummer = T_betaling.contractnummer 
WHERE plaats = "Almelo" 
AND adres LIKE "% 2" 
GROUP BY T_betaling.contractnummer 
HAVING SUM(betaald_bedrag) > 100 
1

您的查询应该是这样的:

SELECT merk, type, SUM(betaald_bedrag) 
FROM T_contract INNER JOIN 
    T_klant 
    ON T_contract.klantnummer = T_klant.klantnummer INNER JOIN 
    T_betaling 
    ON T_contract.contractnummer = T_betaling.contractnummer 
WHERE plaats = 'Almelo' AND 
     adres LIKE '% 2' 
GROUP BY merk, type 
HAVING SUM(betaald_bedrag) > 100; 

格式一边(我认为这是很重要):

  • HAVING子句来GROUP BY后。
  • SQL中字符串的标准分隔符是单引号,而不是双引号。
  • 您应该按照SELECT中的未组合列汇总。 SELECT某些栏目是非常不好的习惯,但由其他人汇总。
相关问题