起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4975|回复: 5

[处理中] 视图多个字段查询查同一张表会报错

[复制链接]

118

主题

324

帖子

973

积分

高级会员

Rank: 4

积分
973
QQ
发表于 2020-10-7 10:04:33 | 显示全部楼层 |阅读模式
经测 试确 认,视图多个字段查询查同一张表会报错,这个需求应该是存在的,期望牛刀云改进一下,谢谢!
查询语句测试未通过
ERROR: table name "main_bumenryxxb" specified more than once
备注以下需求说明:
积分记录表涉及多个参与人员工号,想通过工号从部门信息表中查出对应多个人员邮箱等信息,结果经测试,只能关联查找一个人的邮箱,2个及以上就会报错,原因可能是自动生成查询语句最后重复了。


SELECT jifenjlb.fid, jifenjlb.fjifenzdmc, jifenjlb.fyangxims, jifenjlb.fjiwang, jifenjlb.ftupian
        , jifenjlb.fpingshenjl, jifenjlb.fpingshenrxm, jifenjlb.fjifenfl, jifenjlb.fzhuangtai, jifenjlb.fjifendxxm
        , jifenjlb.fjifen, jifenjlb.fxinzengsj, jifenjlb.ftijiaospsj, jifenjlb.fshenhuwcsj, jifenjlb.fshenpicjsj
        , jifenjlb.fxinzengry, jifenjlb.fjifendxgh, jifenjlb.fjiazhig, jifenjlb.fjifenzdid, jifenjlb.fjifendxy
        , jifenjlb.fjifendxejbmbh, jifenjlb.fjifendxyjbm, jifenjlb.fjifendxejbm, jifenjlb.fshenhufs, jifenjlb.fshifoubhxj
        , jifenjlb.fjinjizycd, jifenjlb.fpingshensj, jifenjlb.fshifouxylxxj, jifenjlb.fxinzengryid, jifenjlb.fzhichips
        , jifenjlb.flixiangid, jifenjlb.ffanduips, jifenjlb.fjifendxid, jifenjlb.fxiejuewtyjbm, jifenjlb.fxiejuewtejbm
        , jifenjlb.fxiejuewtyjbmid, jifenjlb.fxiejuewtejbmbh, jifenjlb.fshifoubm, jifenjlb.fcaozuojlid, jifenjlb.fpingshenrgh
        , jifenjlb.fxiejuewtjd, jifenjlb.fpingshentd, jifenjlb.fshifouzdjf, jifenjlb.fmingcheng, jifenjlb.fyoujianbh
        , jifenjlb.fyoujianmc, jifenjlb.fxianchangxmmc, jifenjlb.fjisuanyjnr, bumenryxxb.fyouxiang AS fjifendxgh_bumenryxxb_fyouxiang, bumenryxxb.fyouxiang AS fpingshenrgh_bumenryxxb_fyouxiang
FROM jifenjlb
        LEFT JOIN bumenryxxb ON jifenjlb.fjifendxgh = bumenryxxb.fgonghao
        LEFT JOIN bumenryxxb ON jifenjlb.fpingshenrgh = bumenryxxb.fgonghao

118

主题

324

帖子

973

积分

高级会员

Rank: 4

积分
973
QQ
 楼主| 发表于 2020-10-7 10:06:56 | 显示全部楼层
请牛刀云技术支持评估提供一个临时解决办法,如何可以直接修改一下查询语句实现这种需求?非常感谢!
回复 支持 反对

使用道具 举报

118

主题

324

帖子

973

积分

高级会员

Rank: 4

积分
973
QQ
 楼主| 发表于 2020-10-7 10:16:50 | 显示全部楼层
以下是从网上找到的解决方案,请牛刀云评估优化一下,谢谢!

两个字段关联到同一个表,如何使用left join?

其实就是别名,快速理解可以看一下下面这个例子:

SELECT home.id,
       t1.name AS one,
       t2.name AS two,
       t3.name AS three,
       t4.name AS four,
       t5.name AS five,
       t6.name AS six
FROM homepage home
LEFT JOIN commodity_temp t1 ON home.one = t1.uuid
LEFT JOIN commodity_temp t2 ON home.two = t2.uuid
LEFT JOIN commodity_temp t3 ON home.three = t3.uuid
LEFT JOIN commodity_temp t4 ON home.four = t4.uuid
LEFT JOIN commodity_temp t5 ON home.five = t5.uuid
LEFT JOIN commodity_temp t6 ON home.six = t6.uuid
回复 支持 反对

使用道具 举报

118

主题

324

帖子

973

积分

高级会员

Rank: 4

积分
973
QQ
 楼主| 发表于 2020-10-7 10:30:47 | 显示全部楼层
我这边参考网上资料改还是不行,不能创建表,但查询语句测试通过,还是请牛刀云解决一下,这个功能应该应用较多,谢谢!
a.fyouxiang AS fjifendxgh, b.fyouxiang AS fpingshenrgh
FROM jifenjlb
        LEFT JOIN bumenryxxb  a ON jifenjlb.fjifendxgh = a.fgonghao
        LEFT JOIN bumenryxxb  b ON jifenjlb.fpingshenrgh = b.fgonghao
回复 支持 反对

使用道具 举报

10

主题

2831

帖子

3783

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3783
QQ
发表于 2020-10-9 11:32:06 | 显示全部楼层
先确认通过数据库管理工具中执行sql是否正常。
需要发应用及正式服务器请在服务群里联系QQ:516367879。
回复 支持 反对

使用道具 举报

118

主题

324

帖子

973

积分

高级会员

Rank: 4

积分
973
QQ
 楼主| 发表于 2020-10-9 16:39:30 | 显示全部楼层
gaofan 发表于 2020-10-9 11:32
先确认通过数据库管理工具中执行sql是否正常。

我用的是牛刀云默认的数据库,不知数据库账号密码,不方便测试,通过多次试验确认,关联一个工号就没有问题,可以出数据,但一个表中两个工号字段关联另外一个表工号(带邮箱,查出对应工号邮箱)就有问题,贵公司可以安排自行测试确认一下,谢谢!
bumenryxxb.fyouxiang AS fjifendxgh_bumenryxxb_fyouxiang, bumenryxxb.fyouxiang AS fpingshenrgh_bumenryxxb_fyouxiang
FROM jifenjlb
        LEFT JOIN bumenryxxb ON jifenjlb.fjifendxgh = bumenryxxb.fgonghao
        LEFT JOIN bumenryxxb ON jifenjlb.fpingshenrgh = bumenryxxb.fgonghao
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-4-19 01:33 , Processed in 0.077039 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表