解释下Unknown column 'm.cid' in 'on clause'
时间: 2023-12-26 08:04:30 浏览: 125
这个错误通常发生在SQL查询中,表示在ON子句中引用了一个不存在的列。具体来说,'m.cid'中的'm.cid'是指一个表m(或者一个子查询)中的一个名为'cid'的列,而查询中的ON子句中引用了这个列,但实际上这个列并不存在。这可能是因为表或者列名拼写错误、表结构变化导致的列名变化、或者是查询中使用了错误的别名引用列等原因导致的。要解决这个问题,需要检查查询中的所有表和列名,确保它们都是正确的,并且没有使用错误的别名或者没有被重命名。
相关问题
Unknown column 'P.code' in 'on clause'
非常抱歉,我之前的回答中有一个错误。根据您提供的查询,`cus_vote_option`表中似乎没有名为`code`的列,所以无法在`ON`子句中使用`P.code = V.vote_option_code`条件。请检查您的表结构并确保使用正确的列名。以下是一个修正后的示例查询,假设`cus_vote_option`表中有一个名为`option_code`的列:
```sql
SELECT P.option_name, IFNULL(COUNT(V.vote_option_code), 0) AS poll
FROM cus_vote_option AS P
LEFT JOIN cus_vote_user AS V
ON P.option_code = V.vote_option_code
WHERE P.vote_code = 'vote0000000006'
AND V.app_id = 2958
GROUP BY P.option_name;
```
请将`P.code`替换为正确的列名,例如`option_code`,以确保查询的准确性。非常抱歉给您带来的困扰,希望这次能帮到您!如果还有其他问题,请随时提问。
Unknown column 'cls_.id' in 'on clause'
"Unknown column 'cls_.id' in 'on clause'" 这个错误提示意味着在SQL查询的ON或JOIN子句中,MySQL找不到名为`cls_.id`的列。这可能有以下几个原因:
1. 表名拼写错误:确认表名`cls_`与实际使用的表名一致,包括大小写。如果`id`字段是在别名`cls_`对应的表中,确保在ON或JOIN中使用正确的别名。
```sql
SELECT * FROM your_table_name AS cls_ ON your_table_name.id = cls_.id;
```
2. 字段不存在:确认`cls_.id`这个字段是否存在于`your_table_name`表中。如果不是别名的一部分,直接使用`id`即可。
```sql
SELECT * FROM your_table_name WHERE id IS NULL;
```
3. JOIN语句结构错误:如果是多表联接,确保你在ON或JOIN子句中正确指定了连接条件。
```sql
SELECT *
FROM table1 AS t1
JOIN table2 AS t2 ON t1.id = t2.cls_id
WHERE t2.cls_id IS NULL;
```
阅读全文