[英]Select value in table if it exists in another
我正在尝试从找到特定公司名称的用户表中获取所有值。 我还需要获取用户表中的行,其中相同的公司名称在另一个表中并且与用户表中的名称匹配
我有 2 个这样的表:
表:用户。
USERNAME COMPANY EMAIL PHONE
表:调度员。
USERNAME DISPATCH_CLIENT
我需要获取用户表中具有特定公司名称的所有行
我还需要获取 Users 表中的所有行,其中 Dispatch 表中的 USERNAME 和 DISPATCH_CLIENT 字段与 Users 表中的 USERNAME AND COMPANY 字段匹配。
我已经使用 EXISTS 在这里查看了一些问题,但它要么在我的情况下不起作用,要么我不够聪明,无法理解它。
这就是我目前所拥有的。
SELECT *
FROM Users
WHERE Users.COMPANY = '" . $company . "'
AND EXISTS
(SELECT USERNAME
FROM Dispatchers WHERE DISPATCH_CLIENT = '" . $company . "')";
也尝试过这样做,但没有返回记录:
SELECT
*
FROM
Users
INNER JOIN
Dispatchers
ON Dispatchers.USERNAME = Users.USERNAME
AND Dispatchers.DISPATCH_CLIENT = Users.COMPANY
WHERE
Users.COMPANY = '" . $company . "'"
尝试这个
SELECT *
FROM Users
WHERE Users.COMPANY = '" . $company . "'
OR Users.USERNAME IN
(SELECT USERNAME
FROM Dispatchers WHERE DISPATCH_CLIENT = '" . $company . "')";
我认为您错过了“存在”阶段的加入条件。 请试试这个。
SELECT *
FROM Users
WHERE Users.COMPANY = '" . $company . "'
AND EXISTS
(SELECT USERNAME
FROM Dispatchers
WHERE Dispatchers.DISPATCH_CLIENT = Users.COMPANY
and Users.USERNAME = Dispatchers.USERNAME)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.