草庐IT

php - 3 个表的内部连接给出重复的结果

coder 2023-10-13 原文

我有以下 3 表结构(没有提到 allcolumns ,只需要)

用户管理员

user_id (primary key)

fname

员工

employee_id (primary key)

user_id (foreign key)

estate

studexperience_master

exp_id (primary key)

user_id (foreign key)

我有以下 2 个 mysql 查询,从 3 个表中获取数据,同时在 1 个表中显示在表单中(以下查询用于搜索结果)。前两个表正确连接但问题是在连接下两个表时(即 employee 和 studexperience_master) 如果相同的 user_id 是 3 倍,则重复获取数据 $result 集中应该只有 1 行的 3 行,我尝试了 DISTINCT ALSO FOR SECOND INNER JOIN 但问题没有得到解决,查询应该如何进行?

$get_work=mysql_query("SELECT DISTINCT wm.work,wm.status FROM user_master um 
INNER JOIN employee emp ON um.user_id =emp.user_id 
INNER JOIN studexperience_master wm 
ON emp.user_id=wm.user_id 
WHERE wm.display='Y' $status_val $company_val $searchkind_val $location_val 
$search_Qualification_val");

        SELECT um.user_id,
       um.fname,
       um.lname,
       um.email,
       um.mobile,
       emp.employee_id,
       emp.ecountry,
       emp.estate,
       emp.ecity,
       emp.prefcities,
       emp.ca,
       emp.cs,
       emp.cwa,
       emp.completed,
       emp.persuing
FROM user_master um
INNER JOIN employee emp 
ON um.user_id =emp.user_id
INNER JOIN studexperience_master wm 
ON emp.user_id=wm.user_id
WHERE wm.display='Y' $status_val 
$company_val $searchkind_val $location_val 
$search_Qualification_val

where 子句值属于这样的值

WHERE wm.display='Y' AND status LIKE '%Fresher%' AND efamiliar LIKE '%Tally %' AND work LIKE 'Excise Audit' AND ecountry LIKE 'pune' OR ecity LIKE 'pune' OR estate LIKE 'pune' OR prefcities LIKE 'pune' AND ca REGEXP '%|CA CPT%' OR cs REGEXP '%|CA CPT%' OR cwa REGEXP '%|CA CPT%' OR completed REGEXP '%|CA CPT%' OR persuing REGEXP '%|CA CPT%'

用户管理员

user_id- 2

fname- monika

mobile- 2147...

email- a@a.b

员工

   >employee_id- 1

    >user_id- 2

    >ecity- Amravati

    >ca- CA IPCC Appeared

    >cs- CS Executive Appeared

    >cwa- CWA Inter Appeared   

studexperience_master

第一行

exp_id-1

user_id- 2

work- Tax AUDIT

第二行

exp_id-2

user_id- 2

work- VAT AUDIT

最佳答案

只需像下面这样更改您的两个查询

而不是加入 emp.user_id 加入 um.user_id 因为它是 PK 并且应该有唯一的数据。

SELECT DISTINCT wm.work,wm.status  
FROM user_master um  
INNER JOIN employee emp  
ON um.user_id =emp.user_id  
INNER JOIN studexperience_master wm  
ON um.user_id=wm.user_id and wm.display='Y' 

第二个查询喜欢

   SELECT um.user_id,
   um.fname,
   um.lname,
   um.email,
   um.mobile,
   emp.employee_id,
   emp.ecountry,
   emp.estate,
   emp.ecity,
   emp.prefcities,
   emp.ca,
   emp.cs,
   emp.cwa,
   emp.completed,
   emp.persuing
FROM user_master um
INNER JOIN employee emp 
ON um.user_id =emp.user_id
INNER JOIN studexperience_master wm 
ON um.user_id=wm.user_id and wm.display='Y'

虽然我无法理解您的位置中那些变量的含义?我觉得你的 where 很奇怪。

WHERE wm.display='Y' $status_val $company_val $searchkind_val $location_val 
$search_Qualification_val

关于php - 3 个表的内部连接给出重复的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23003582/

有关php - 3 个表的内部连接给出重复的结果的更多相关文章

  1. ruby - 续集在添加关联时访问many_to_many连接表 - 2

    我正在使用Sequel构建一个愿望list系统。我有一个wishlists和itemstable和一个items_wishlists连接表(该名称是续集选择的名称)。items_wishlists表还有一个用于facebookid的额外列(因此我可以存储opengraph操作),这是一个NOTNULL列。我还有Wishlist和Item具有续集many_to_many关联的模型已建立。Wishlist类也有:selectmany_to_many关联的选项设置为select:[:items.*,:items_wishlists__facebook_action_id].有没有一种方法可以

  2. ruby - 无法在 60 秒内获得稳定的 Firefox 连接 (127.0.0.1 :7055) - 2

    我使用的是Firefox版本36.0.1和Selenium-Webdrivergem版本2.45.0。我能够创建Firefox实例,但无法使用脚本继续进行进一步的操作无法在60秒内获得稳定的Firefox连接(127.0.0.1:7055)错误。有人能帮帮我吗? 最佳答案 我遇到了同样的问题。降级到firefoxv33后一切正常。您可以找到旧版本here 关于ruby-无法在60秒内获得稳定的Firefox连接(127.0.0.1:7055),我们在StackOverflow上找到一个类

  3. 报告回顾丨模型进化狂飙,DetectGPT能否识别最新模型生成结果? - 2

    导读语言模型给我们的生产生活带来了极大便利,但同时不少人也利用他们从事作弊工作。如何规避这些难辨真伪的文字所产生的负面影响也成为一大难题。在3月9日智源Live第33期活动「DetectGPT:判断文本是否为机器生成的工具」中,主讲人Eric为我们讲解了DetectGPT工作背后的思路——一种基于概率曲率检测的用于检测模型生成文本的工具,它可以帮助我们更好地分辨文章的来源和可信度,对保护信息真实、防止欺诈等方面具有重要意义。本次报告主要围绕其功能,实现和效果等展开。(文末点击“阅读原文”,查看活动回放。)Ericmitchell斯坦福大学计算机系四年级博士生,由ChelseaFinn和Chri

  4. ruby - 我的 Ruby IRC 机器人没有连接到 IRC 服务器。我究竟做错了什么? - 2

    require"socket"server="irc.rizon.net"port="6667"nick="RubyIRCBot"channel="#0x40"s=TCPSocket.open(server,port)s.print("USERTesting",0)s.print("NICK#{nick}",0)s.print("JOIN#{channel}",0)这个IRC机器人没有连接到IRC服务器,我做错了什么? 最佳答案 失败并显示此消息::irc.shakeababy.net461*USER:Notenoughparame

  5. ruby-on-rails - 连接字符串时如何在 <%=%> block 内输出 html_safe? - 2

    考虑一下:现在这些情况:#output:http://domain.com/?foo=1&bar=2#output:http://domain.com/?foo=1&bar=2#output:http://domain.com/?foo=1&bar=2#output:http://domain.com/?foo=1&bar=2我需要用其他字符串输出URL。我如何保证&符号不会被转义?由于我无法控制的原因,我无法发送&。求助!把我的头发拉到这里:\编辑:为了澄清,我实际上有一个像这样的数组:@images=[{:id=>"fooid",:url=>"http://

  6. ruby - Faye WebSocket,关闭处理程序被触发后重新连接到套接字 - 2

    我有一个super简单的脚本,它几乎包含了FayeWebSocketGitHub页面上用于处理关闭连接的内容:ws=Faye::WebSocket::Client.new(url,nil,:headers=>headers)ws.on:opendo|event|p[:open]#sendpingcommand#sendtestcommand#ws.send({command:'test'}.to_json)endws.on:messagedo|event|#hereistheentrypointfordatacomingfromtheserver.pJSON.parse(event.d

  7. ruby - 是否可以从也在该模块中的类内部调用模块函数 - 2

    在这段Ruby代码中:ModuleMClassC当我尝试运行时出现“'M:Module'的未定义方法'helper'”错误c=M::C.new("world")c.work但直接从另一个类调用M::helper("world")工作正常。类不能调用在定义它们的同一模块中定义的模块函数吗?除了将类移出模块外,还有其他解决方法吗? 最佳答案 为了调用M::helper,你需要将它定义为defself.helper;结束为了进行比较,请查看以下修改后的代码段中的helper和helper2moduleMclassC

  8. ruby - 正则表达式 - 保存重复捕获的组 - 2

    这就是我做的a="%span.rockets#diamonds.ribbons.forever"a=a.match(/(^\%\w+)([\.|\#]\w+)+/)putsa.inspect这是我得到的#这就是我想要的#帮助?我尝试过但失败了:( 最佳答案 通常,您不能获得任意数量的捕获组,但如果您使用扫描,您可以为您想要捕获的每个标记获得一个匹配:a="%span.rockets#diamonds.ribbons.forever"a=a.scan(/^%\w+|\G[.|#]\w+/)putsa.inspect["%span","

  9. ruby - 无法安装 gem - make 未被识别为内部或外部命令可运行程序或批处理文件 - 2

    我想在Windows7上安装带有ruby​​1.9.3的rspec-railsgem。我收到一些错误消息,提示无法安装某些json库。所以,我使用下面的说明来解决它。来源=The'json'nativegemrequiresinstalledbuildtools从[rubyinstaller.org][3]下载[Ruby1.9.3][2]从[rubyinstaller.org][3]下载DevKit文件对于Ruby1.9.3,使用[DevKit-tdm-32-4.5.2-20110712-1620-sfx.exe][4]将DevKit解压到路径C:\Ruby193\DevKit运行cd

  10. ruby - 如何在 Ruby 中实现私有(private)内部类 - 2

    来自Java,我正在尝试在Ruby中实现LinkedList。我在Java中实现它的通常方法是有一个名为LinkedList的类和一个名为Node的私有(private)内部类,其中LinkedList的每个对象都作为Node对象。classLinkedListprivateclassNodeattr_accessor:val,:nextendend我不想将Node类暴露给外部世界。然而,通过Ruby中的这个设置,我可以使用这个访问LinkedList类之外的私有(private)Node类对象-node=LinkedList::Node.new我知道,在Ruby1.9中,我们可以使用

随机推荐