我有这样的更换不符合LEFT JOIN
[condition]
condition_id, (pk)
question_id (fk)
[option]
condition_id, (fk)
ext_id (fk)
[external]
ext_id, (pk)
inst_id (fk)
[instance]
inst_id, (pk)
keeper_id (fk)
[keeper]
keeper_id, (pk)
org_id
[question]
question_id (pk)
org_id
[localization]
question_id (fk, pk),
org_id (pk),
language (pk)
label
我需要从question
表本地化的所有问题(从localization
表),即不condition
表存在的表结构某些ext_id
。
我的查询是
SELECT
q.question_id as q_id,
l.label as q_value
FROM question q
INNER JOIN localization l
ON l.question_id = q.question_id
INNER JOIN external ex
ON ex.ext_id = 'EXTERNAL_ID'
INNER JOIN instance i
ON i.inst_id = ex.inst_id
INNER JOIN keeper k
ON k.keeper_id = i.keeper_id
WHERE q.org_id IN ('*', k.org_id)
AND l.org_id = '*'
AND l.language = 'EN'
AND q.question_id NOT IN (
SELECT
question_id
FROM condition c
INNER JOIN option o
ON o.condition_id = c.condition_id
WHERE o.ext_id = 'EXTERNAL_ID'
)
但如何更换使用LEFT子查询加入?
请注明RDBMS – swe
@swe更新标签 – lapots
您的查询在语法上不正确。什么是'lq'?什么是'p'? –