У меня есть следующий упрощенный запрос SQLLite:
SELECT SPECIALTABLE.DETAILS AS Details
FROM SPECIALTABLE
INNER JOIN CUSTOMERTABLE
ON CUSTOMERTABLE.CUSCODE = SPECIALTABLE.CUSCODE
INNER JOIN CUSTOMERNAMETABLE
ON CUSTOMERNAMETABLE.NAMECODE = CUSTOMERTABLE.NAMECODE
WHERE NAMECODE LIKE '%' LIMIT 10
SPECIALTABLE не содержит столбец NAMECODE.
Но когда я запускаю запрос, он выдает «неоднозначное имя столбца»ошибка по NAMECODE.Однако я не хочу указывать таблицу по коду имени (например, WHERE CUSTOMERTABLE.NAMECODE LIKE ...).
Насколько я понимаю, SQLLite должен обрабатывать результат этих объединений как одну большую таблицу, содержащую все столбцы, которыесодержится в каждой из таблиц, так почему же существует двусмысленность?
Проблема в том, что нет столбца, напрямую связывающего SPECIALTABLE и CUSTOMERNAMETABLE.