列名不明确,但使用 "." 指定表



当以下查询发送到我的数据库时:

SELECT statemachines.statemachinename, 
states.statename, 
actionhandlers.actionhandler, 
actions.value, actions.sourcename 
FROM actions, actionhandlers, states, statemachines 
INNER JOIN rules ON (actions.rule_id AND rules.rule_id) 
INNER JOIN actionhandlers ON (actions.actionhandler AND actionhandlers.actionhandler) 
INNER JOIN states ON (states.state_id AND actions.state_id) 
INNER JOIN statemachines ON (states.statemachinename AND statemachines.statemachinename) 
WHERE (rules.eventname = 'PIR') AND (statemachines.currentstate = states.state_id)

返回以下错误:

 android.database.sqlite.SQLiteException: ambiguous column name: statemachines.statemachinename (code 1): , while compiling:

我不知道该怎么办,我所有的其他问题都能解决。

您使用statemachines两次。一次在JOIN子句中,一次在FROM中。

说出其中一个:

...
FROM actions, actionhandlers, states, statemachines AS statemachines1
...

简化:FROM actions, actionhandlers, states, statemachines=>FROM actions

最新更新