Mysql “中的未知列”;关于;条款
我正在编写以下Mysql “中的未知列”;关于;条款,mysql,Mysql,我正在编写以下SELECT语句: SELECT * FROM table1 LEFT JOIN table2 ON table2.contentid = table3.id AND table2.tmplid = table1.id WHERE table2.value = "test" 我得到以下错误: 对数据库执行查询失败-未知列 “on子句”中的“table3.id”» 我做错了什么?您正在引用sql anywhere中未定义的表3.id。你是想把表1.id放进去吗 如果您想参考表3,您
SELECT
语句:
SELECT *
FROM table1
LEFT JOIN table2 ON table2.contentid = table3.id AND table2.tmplid = table1.id
WHERE table2.value = "test"
我得到以下错误:
对数据库执行查询失败-未知列
“on子句”中的“table3.id”»
我做错了什么?您正在引用sql anywhere中未定义的
表3.id
。你是想把表1.id
放进去吗
如果您想参考表3,您需要加入:
SELECT *
FROM table1
LEFT JOIN table3
ON table1.id = table3.someid
LEFT JOIN table2
ON table2.contentid = table3.id AND table2.tmplid = table1.id
WHERE table2.value = "test"
这就是你的问题:
LEFT JOIN table2 ON table2.contentid = table3.id
在ON子句中不能有任何不属于join的表(在本例中为表3)
你是说:
SELECT *
FROM table1
LEFT JOIN table2
ON table1.id = table2.tmplid
LEFT JOIN table3
ON table2.contentid = table3.id
WHERE table2.value = "test"
表3的定义是什么?您是否已三次检查是否有
id
列?您的语句中没有表3
表,这就是问题所在