mysql 关键字同名解决,select查询时,在查询结果中增加一个字段并指定固定值

select * from ( ( select id,title,`desc`,style,create_time from wi_user_notice where status = 1 and ( type = 0 or type = 4 ) order by create_time desc ) union all ( select id,title,`desc`,'0' as style,create_time from wi_user_system_message where user_id = 36 and status = 1 order by create_time desc ) ) as a order by create_time desc limit 0,15

记录一下  不同的表一起查询,带分页排序,子查询,union all连接,存在关键字同名的字段带上``符号,不同的表字段不一样补字段值,就是查询字段加入限制写死的值 ,'值[写死的值]' as 字段名 ,普通给字段取别名是   '数据库字段' as 新字段名。建议还是不要取名和mysql关键字同名的字段。

 

 

WHERE  user_id = 35 and status = 1 and ((style = 1 and find_in_set(9,'so')) or (style = 2 and !find_in_set(9,'invisible'))) )

find_in_set函数里的字段带上单引号,不要用系统字段自动生成的``符号

你可能感兴趣的:(关系型数据库-mysql)