Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql “中的未知列”;关于;条款_Mysql - Fatal编程技术网

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
表,这就是问题所在