楼主: 阿璇tian
2181 15

[问答] R语言运行mysql语句报错 [推广有奖]

  • 0关注
  • 0粉丝

硕士生

89%

还不是VIP/贵宾

-

威望
0
论坛币
8 个
通用积分
2.8713
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1959 点
帖子
121
精华
0
在线时间
195 小时
注册时间
2017-12-21
最后登录
2023-3-27

楼主
阿璇tian 发表于 2018-11-8 19:41:47 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
老师好,我有sql语句,在mysql运行没有问题,但是贴到R里就报错,显示
Error: unexpected symbol in:
"                from ding_checkinreport a LEFT JOIN ding_checkinreport_details b on a.reqid = b.pid
                where a.resStatus = "审核完成"



是哪里的问题呢?
请老师们指教


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:MySQL sql语句 sql R语言 Unexpected

回帖推荐

Whig 发表于2楼  查看完整内容

“审核完成”这四个字在SQL里是有引号的,你的SQL在R里执行也需要引号,所以这两组引号不能都是双引号,你把审核完成的双引号换成单引号试试

沙发
Whig 在职认证  发表于 2018-11-8 19:45:31
“审核完成”这四个字在SQL里是有引号的,你的SQL在R里执行也需要引号,所以这两组引号不能都是双引号,你把审核完成的双引号换成单引号试试
已有 1 人评分论坛币 收起 理由
cheetahfly + 10 精彩帖子

总评分: 论坛币 + 10   查看全部评分

藤椅
阿璇tian 发表于 2018-11-9 10:59:07
Whig 发表于 2018-11-8 19:45
“审核完成”这四个字在SQL里是有引号的,你的SQL在R里执行也需要引号,所以这两组引号不能都是双引号,你把 ...
谢谢老师,把双引号换成单引号可以了。
but我贴进去了一个更复杂的sql语句,把双引号都改成单引号了,但是报错了,

Error in "select *, \ncase when a.`地址` = '深圳' then a.`地址` ELSE a.`省份` END as 交行省份\n                from (select c.id,c.工号,c.员工,c.职级,c.在职状态,c.队长ID  as 星火队长工号,c.队长  as 星火队长,c.`省长编码`  as 省长工号,c.`省长`,c.`常委编码`  as 常委工号,c.`常委`,c.`分管领导编码`  as 分管领导工号,c.`分管领导`,c.省份,c.地址,c.部门id,c.部门编码,c.部门,c.部门全路径,c.成本中心编码,c.成本中心,c.条线,\n                case \n                when c.`条线`='招广条线' THEN c.`三列`\n                when c.`条线`='工行条线' THEN c.`三列`\n                when c.`条线`='建行条线' THEN c.`三列`\n                when c.`条线`='农行条线' THEN c.`三列`\n                when c.`条线`='邮储条线' THEN c.`三列`\n                when c.`条线`='中行条线' THEN c.`三列`\n                ELSE c.`条线` end as 条线2\n                from (select a.id,a.工号,a.EMPNAME as 员工,a.RANK as 职级,a.EMPSTATUS as 在职状态,a.队长ID,a.队长,a.`省长编码`,a.`省长`,a.`常委编码`,a.`常委`,a.`分管领导编码`,a.`分管领导`,b.province as 省份,b.address as 地址,a.部门id,a.COSTCODE as 部门编码,a.ORGNAME as 部门,b.orgaddr as 部门全路径,b.costcentercode as 成本中心编码,b.codename as 成本中心,CASE when SUBSTRING_INDEX(b.orgaddr," -  :
  non-numeric argument to binary operator

板凳
阿璇tian 发表于 2018-11-9 10:59:53
Whig 发表于 2018-11-8 19:45
“审核完成”这四个字在SQL里是有引号的,你的SQL在R里执行也需要引号,所以这两组引号不能都是双引号,你把 ...
谢谢老师,可以了,但我贴了一个更复杂的sql,结果报错了

Error in "select *, \ncase when a.`地址` = '深圳' then a.`地址` ELSE a.`省份` END as 交行省份\n                from (select c.id,c.工号,c.员工,c.职级,c.在职状态,c.队长ID  as 星火队长工号,c.队长  as 星火队长,c.`省长编码`  as 省长工号,c.`省长`,c.`常委编码`  as 常委工号,c.`常委`,c.`分管领导编码`  as 分管领导工号,c.`分管领导`,c.省份,c.地址,c.部门id,c.部门编码,c.部门,c.部门全路径,c.成本中心编码,c.成本中心,c.条线,\n                case \n                when c.`条线`='招广条线' THEN c.`三列`\n                when c.`条线`='工行条线' THEN c.`三列`\n                when c.`条线`='建行条线' THEN c.`三列`\n                when c.`条线`='农行条线' THEN c.`三列`\n                when c.`条线`='邮储条线' THEN c.`三列`\n                when c.`条线`='中行条线' THEN c.`三列`\n                ELSE c.`条线` end as 条线2\n                from (select a.id,a.工号,a.EMPNAME as 员工,a.RANK as 职级,a.EMPSTATUS as 在职状态,a.队长ID,a.队长,a.`省长编码`,a.`省长`,a.`常委编码`,a.`常委`,a.`分管领导编码`,a.`分管领导`,b.province as 省份,b.address as 地址,a.部门id,a.COSTCODE as 部门编码,a.ORGNAME as 部门,b.orgaddr as 部门全路径,b.costcentercode as 成本中心编码,b.codename as 成本中心,CASE when SUBSTRING_INDEX(b.orgaddr," -  :
  non-numeric argument to binary operator

报纸
阿璇tian 发表于 2018-11-9 11:01:34
Error in "select *, \ncase when a.`地址` = '深圳' then a.`地址` ELSE a.`省份` END as 交行省份\n                from (select c.id,c.工号,c.员工,c.职级,c.在职状态,c.队长ID  as 星火队长工号,c.队长  as 星火队长,c.`省长编码`  as 省长工号,c.`省长`,c.`常委编码`  as 常委工号,c.`常委`,c.`分管领导编码`  as 分管领导工号,c.`分管领导`,c.省份,c.地址,c.部门id,c.部门编码,c.部门,c.部门全路径,c.成本中心编码,c.成本中心,c.条线,\n                case \n                when c.`条线`='招广条线' THEN c.`三列`\n                when c.`条线`='工行条线' THEN c.`三列`\n                when c.`条线`='建行条线' THEN c.`三列`\n                when c.`条线`='农行条线' THEN c.`三列`\n                when c.`条线`='邮储条线' THEN c.`三列`\n                when c.`条线`='中行条线' THEN c.`三列`\n                ELSE c.`条线` end as 条线2\n                from (select a.id,a.工号,a.EMPNAME as 员工,a.RANK as 职级,a.EMPSTATUS as 在职状态,a.队长ID,a.队长,a.`省长编码`,a.`省长`,a.`常委编码`,a.`常委`,a.`分管领导编码`,a.`分管领导`,b.province as 省份,b.address as 地址,a.部门id,a.COSTCODE as 部门编码,a.ORGNAME as 部门,b.orgaddr as 部门全路径,b.costcentercode as 成本中心编码,b.codename as 成本中心,CASE when SUBSTRING_INDEX(b.orgaddr," -  :
  non-numeric argument to binary operator

地板
阿璇tian 发表于 2018-11-9 11:02:18
Error in "select *, \ncase when a.`地址` = '深圳' then a.`地址` ELSE a.`省份` END as 交行省份\n                from (select c.id,c.工号,c.员工,c.职级、、、、、
  non-numeric argument to binary operator

老师,可以了,但我试了一个更复杂的sql结果报错了

7
Whig 在职认证  发表于 2018-11-9 11:26:02
不要用中文做字段名好吗?这样无法确认是SQL语法问题还是编码问题,而且也不要乱用``(不是单引号)

8
阿璇tian 发表于 2018-11-9 11:34:51
Whig 发表于 2018-11-9 11:26
不要用中文做字段名好吗?这样无法确认是SQL语法问题还是编码问题,而且也不要乱用``(不是单引号)
嗯,老师说的对,语句不是我写的,我也很无奈,但是在sql里面跑没问题

9
Whig 在职认证  发表于 2018-11-9 11:53:09
a.`地址` ——像这样的,把中文两边的`去掉试试?

10
阿璇tian 发表于 2018-11-9 13:38:37
Whig 发表于 2018-11-9 11:53
a.`地址` ——像这样的,把中文两边的`去掉试试?
老师你太棒了,把'去掉解决了,但是跑完变量名是中文乱码,这就是变量名不要用中文的原因吧。
我这个改变量名太麻烦了,有没有办法不是乱码吗

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-28 14:57