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函数里的字段带上单引号,不要用系统字段自动生成的``符号

某些情况不能带单引号,能用系统字段自动生成的``符号  具体原因不知

SELECT * FROM `wi_recruit_company_position` `p` LEFT JOIN `wi_recruit_company` `c` ON `c`.`user_id`=`p`.`user_id` WHERE  `p`.`status` = 1  AND `c`.`status` = 1  AND find_in_set(8,'c.pid')  查不出

SELECT * FROM `wi_recruit_company_position` `p` LEFT JOIN `wi_recruit_company` `c` ON `c`.`user_id`=`p`.`user_id` WHERE  `p`.`status` = 1  AND `c`.`status` = 1  AND find_in_set(8,`c.pid`)  报错

SELECT * FROM `wi_recruit_company_position` `p` LEFT JOIN `wi_recruit_company` `c` ON `c`.`user_id`=`p`.`user_id` WHERE  `p`.`status` = 1  AND `c`.`status` = 1  AND find_in_set(8,c.pid) 查的出

SELECT * FROM `wi_recruit_company_position` `p` LEFT JOIN `wi_recruit_company` `c` ON `c`.`user_id`=`p`.`user_id` WHERE  `p`.`status` = 1  AND `c`.`status` = 1  AND find_in_set(8,c.'pid')  报错

扫描二维码关注公众号,回复: 11515493 查看本文章

SELECT * FROM `wi_recruit_company_position` `p` LEFT JOIN `wi_recruit_company` `c` ON `c`.`user_id`=`p`.`user_id` WHERE  `p`.`status` = 1  AND `c`.`status` = 1  AND find_in_set(8,`c`.`pid`)  查的出

SELECT * FROM `wi_recruit_company_position` `p` LEFT JOIN `wi_recruit_company` `c` ON `c`.`user_id`=`p`.`user_id` WHERE  `p`.`status` = 1  AND `c`.`status` = 1  AND find_in_set(8,'c'.'pid')  报错

SELECT * FROM `wi_recruit_company_position` `p` LEFT JOIN `wi_recruit_company` `c` ON `c`.`user_id`=`p`.`user_id` WHERE  `p`.`status` = 1  AND `c`.`status` = 1  AND find_in_set(8,'c'.pid)  报错

SELECT * FROM `wi_recruit_company_position` `p` LEFT JOIN `wi_recruit_company` `c` ON `c`.`user_id`=`p`.`user_id` WHERE  `p`.`status` = 1  AND `c`.`status` = 1  AND find_in_set(8,c.'pid')  报错

SELECT * FROM `wi_recruit_company_position` `p` LEFT JOIN `wi_recruit_company` `c` ON `c`.`user_id`=`p`.`user_id` WHERE  `p`.`status` = 1  AND `c`.`status` = 1  AND find_in_set(8,`c`.pid)  查的出

SELECT * FROM `wi_recruit_company_position` `p` LEFT JOIN `wi_recruit_company` `c` ON `c`.`user_id`=`p`.`user_id` WHERE  `p`.`status` = 1  AND `c`.`status` = 1  AND find_in_set(8,c.`pid`)  查的出

SELECT * FROM `wi_recruit_company_position` `p` LEFT JOIN `wi_recruit_company` `c` ON `c`.`user_id`=`p`.`user_id` WHERE  `p`.`status` = 1  AND `c`.`status` = 1  AND find_in_set(8,pid)  查的出

SELECT * FROM `wi_recruit_company_position` `p` LEFT JOIN `wi_recruit_company` `c` ON `c`.`user_id`=`p`.`user_id` WHERE  `p`.`status` = 1  AND `c`.`status` = 1  AND find_in_set(8,`pid`)  查的出

SELECT * FROM `wi_recruit_company_position` `p` LEFT JOIN `wi_recruit_company` `c` ON `c`.`user_id`=`p`.`user_id` WHERE  `p`.`status` = 1  AND `c`.`status` = 1  AND find_in_set(8,'pid')  查不出

猜你喜欢

转载自blog.csdn.net/CaiL_520914/article/details/99983721
今日推荐