我写了一些sql语句,并且有一定的问题。SQL的错误,因为以后凡在
SELECT uri, k.score_x
FROM uris
WHERE id IN (
SELECT id, SUM(x) AS score_x
FROM keywords
WHERE key = 'key1' OR
key='key2' OR
key='key3' OR
key='key4'
GROUP BY id
HAVING COUNT(key) = 4
) AS k
ORDER BY k.score_sum DESC;
这是我的发言,但我的数据库(PostgreSQL的),说有一个语法错误与我的“AS”。
但是北京时间问题? o.O我不明白
你不能当'IN()'子句中定义的别名的子查询。并且您的子查询返回多个列 –
要添加到juergen的答案,您必须在子查询上使用JOIN来完成您试图实现的任务。 – coladict