mysql查询中的复杂语句,当用左连接left join查询时,加上UNION查询就会出现错误!
发布网友
发布时间:2022-04-09 19:28
我来回答
共5个回答
热心网友
时间:2022-04-09 20:58
union需要上下字段类型一致 你上面的有其他类型,下面select只有int类型 所以报错
热心网友
时间:2022-04-09 22:16
我按照你的意思做了一个查询
基本语法是
select col1,col2,col3......col6/*总共六项*/
from table a
left join table b on 条件1
left join table c on 条件2
left join table d on 条件3
union
select '1','2','3','4','5','6'
出现错误
提示是Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation 'UNION'
反正就是数据类型的问题 我是按照一楼的说法确定都加单引号的 但是不管用
所以还是随教科书上说的去做吧 union、
的前后都加上 select子句 完整的 带有条件的 那样至少是不会错的。
热心网友
时间:2022-04-09 23:50
数据类型的问题估计
将字符类型值转换为数据类型为 int 的列时发生语法错误。
将数字1到32都加小引号看看能不能管用。
热心网友
时间:2022-04-10 01:42
and union select
不要这个and
热心网友
时间:2022-04-10 03:50
前后两个SQL列名不一样。