这是我试图执行的代码:
SELECT ID_K
FROM koncert,
programi
WHERE koncert.ID_K = programi.ID_K
GROUP BY koncert.ID_K
HAVING COUNT (DISTINCT programi.Salla) = 2
它返回此错误:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to
your MariaDB server version for the right syntax to use
near 'DISTINCT programi.Salla)=2 LIMIT 0, 25' at line 4.
试图改变不同的东西,但它仍然无法发挥作用。
答案 0 :(得分:0)
首先,当两个表中的列名相同时,您应该使用列的限定名称
SELECT ID_K FROM
应该是
SELECT programi.ID_K FROM
否则,你会得到模糊的列错误。否则,您的查询看起来很好,除了在调用COUNT
时删除额外空格(@spencer已在评论中提及)
此外,最好使用JOIN
(或INNER JOIN
,LEFT JOIN
等)关键字加入您的表格,这样可以使您的查询更加清晰易读。
答案 1 :(得分:0)
你应该使用计数(DISTINCT programi.Salla )并且不计算(..)..删除COUNT和(...
之间的空格Input table
但你还需要tablename以避免歧义,并使用显式连接sintax