【问题标题】:Joining Two Tables to find Non Matching Info连接两个表以查找不匹配的信息
【发布时间】:2014-03-09 20:40:25
【问题描述】:

对所有的编辑感到抱歉,但这似乎与我所需要的相反。我愿意接受任何建议!

$r = mysql_query("SELECT * FROM warehouselogin LEFT OUTER JOIN warehousedatains on warehouselogin.instructor_password = warehousedatains.instructor_password && warehousedatains.unitnumber='$unitnumber' && warehousedatains.year='$year' && warehousedatains.outcomenumber='$outcomenumbercheck' WHERE warehousedatains.instructor_password IS NOT NULL GROUP BY warehouselogin.InstructorName ASC");

好的,伙计们……我还是遇到了一些麻烦,在与这个问题斗争了一段时间后,我再次寻求帮助。

此查询正在运行...它为我提供了左表中不存在于提交年份的右表中的任何讲师。

$r = mysql_query("SELECT * FROM warehouselogin LEFT OUTER JOIN warehousedatains on warehouselogin.instructor_password = warehousedatains.instructor_password && warehousedatains.year='$year' WHERE warehousedatains.instructor_password IS NULL GROUP BY warehouselogin.InstructorName ASC");

但是,当我尝试比较其他提交的变量时,它不起作用。

$r = mysql_query("SELECT * FROM warehouselogin LEFT OUTER JOIN warehousedatains on warehouselogin.instructor_password = warehousedatains.instructor_password && warehousedatains.year='$year' && warehousedatains.unitnumber='$unitnumber' && warehousedatains.outcomenumber='$outcomenumbercheck' WHERE warehousedatains.instructor_password IS NULL GROUP BY warehouselogin.InstructorName ASC");

我需要匹配这些附加值。否则,我会从每个部门获得讲师。我在这里想念什么?非常感谢您的帮助!


感谢大家的建议。通过将年份变量语句直接放在查询上方,我终于能够使下面的查询正常工作 ($year="$_POST[year]"。非常感谢您的帮助!


我正在尝试根据instructor_password 字段加入两个表并回显任何不匹配的内容。基本上,我正在寻找在提交年份的第二个表 (warehousedatains) 中未找到的第一个表 (warehouselogin) 中的密码。在使用类似于下面的连接之前,我已经完成了此操作,但我遗漏了一些东西。这目前什么也没找到。

SELECT * FROM warehouselogin
LEFT OUTER JOIN warehousedatains on warehouselogin.instructor_password = warehousedatains.instructor_password && warehousedatains.year='?'
WHERE warehousedatains.instructorpassword IS NULL
ORDER BY warehousedatains.InstructorName ASC

year='?' 中的? 具有特定值。

【问题讨论】:

  • 你能回显实际的查询,所以没有问号
  • @Strawberry 我添加了问号,在原始帖子中这是一个 PHP 术语,其中包含一个变量而不是问号
  • 很好。你能回显实际的查询,所以没有问号,或者 php 变量。
  • [刘海头靠墙。]

标签: mysql sql join


【解决方案1】:
 SELECT * FROM warehouselogin 
          WHERE warehouselogin.instructor_password 
          NOT IN
          (SELECT warehousedatains.instructor_password FROM warehousedatains)

【讨论】:

  • 感谢您的建议!你能告诉我如何在 PHP 查询中正确使用它吗?
  • 你试过输入 $r = mysql_query('sqlquery')
  • 谢谢。我终于让它工作了……只是少了一个引号。
【解决方案2】:

在@misthacoder 的帮助下,我终于能够让这个查询正常工作,并在 PHP 脚本中为我提供所需的结果。我想分享一下,以防其他人有类似的问题。非常感谢所有试图提供帮助的人。

$r = mysql_query("SELECT * FROM warehouselogin WHERE unitnumber='$unitnumber' && warehouselogin.instructor_password NOT IN (SELECT warehousedatains.instructor_password FROM warehousedatains WHERE unitnumber='$unitnumber' && outcomenumber='$outcomenumbercheck')");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 2018-01-07
    • 1970-01-01
    • 1970-01-01
    • 2015-01-05
    • 1970-01-01
    相关资源
    最近更新 更多