我正在尝试计算目前没有"职位的帐户数量"或者"验证"。为了做到这一点,我需要在验证和位置表上执行两个左外连接。这是我到目前为止构建的查询:
SELECT COUNT(*)
FROM
"accounts"
LEFT OUTER JOIN
"verifications" ON "accounts.id = verifications.account_id"
LEFT OUTER JOIN
"positions" ON "accounts.id = positions.account_id"
WHERE "verifications.account_id = null" AND "positions.account_id = null";
这似乎不是正确的查询。我的控制台产生了这个错误:
SyntaxError: unexpected tCONSTANT, expecting end-of-input
SELECT * FROM "accounts" LEFT OUTER JOIN "verifications"
在帐户附近的语句开头看起来有问题。我已经检查了一些关于双左外连接的教程,并且我已经链接到正确的字段上。我对可能出错的地方感到茫然。非常感谢帮助。谢谢。
答案 0 :(得分:2)
如果您想要或需要使用双引号,请执行以下操作:
ON "accounts"."id" = "verifications"."account_id"
双引号包装每个标识符。除非标识符中有非法字符(也不是那么好),否则使用双引号是一个不好的意思
答案 1 :(得分:1)
写下你的查询:
SELECT COUNT(*)
FROM accounts
LEFT OUTER JOIN verifications
ON accounts.id = verifications.account_id
LEFT OUTER JOIN positions
ON accounts.id = positions.account_id
WHERE verifications.account_id is null AND positions.account_id is null;