我正在移植一个应用程序并决定在SQLite中以镜面方式移植它的数据库。 所有表格都运行良好,但以下视图:
VIEW `view_type_questions` AS
select `questions`.`id` AS `id_question`,
`type_modules`.`id` AS `id_type`,
`type_modules`.`description` AS `type_questions`
from (`questions` left join (`modules` left join `type_modules`
on((`modules`.`id_type` = `type_modules`.`id`)))
on((`questions`.`id_module` = `modules`.`id`)))
我以相同的方式翻译而没有顶点('):
VIEW view_type_questions AS select questions.id AS
id_question,type_modules.id AS
id_type,type_modules.description AS type_questions
from (questions left join (modules left join type_modules
on((modules.id_type = type_modules.id)))
on((questions.id_module = modules.id)))
给了我一个奇怪的错误,因为当我尝试执行此查询时,我得到以下内容:
处理SQL时出错:无法准备语句(1没有这样的列:type_modules.id)
(我100%确定所有的表都包含type_modules)
答案 0 :(得分:1)
当您在连接周围使用多余的括号时,某些SQLite版本会出现问题。 只需删除它们(为了Zarquon的缘故,正确格式化查询):
CREATE VIEW view_type_questions AS
SELECT questions.id AS id_question,
type_modules.id AS id_type,
type_modules.description AS type_questions
FROM questions
LEFT JOIN modules ON questions.id_module = modules.id
LEFT JOIN type_modules ON modules.id_type = type_modules.id