我正在尝试从发现特定公司名称的用户表中获取所有值。 我还需要获取用户表中的行,其中同一公司名称在另一个表中,并且与用户表中的名称匹配
我有2张这样的桌子:
表:用户。
USERNAME COMPANY EMAIL PHONE
表:调度员。
USERNAME DISPATCH_CLIENT
我需要获取“用户”表中所有具有特定公司名称的行
我还需要获取“用户”表中的所有行,其中“分配”表中的USERNAME和DISPATCH_CLIENT字段与“用户”表中的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 . "'"
答案 0 :(得分:3)
尝试一下
SELECT *
FROM Users
WHERE Users.COMPANY = '" . $company . "'
OR Users.USERNAME IN
(SELECT USERNAME
FROM Dispatchers WHERE DISPATCH_CLIENT = '" . $company . "')";
答案 1 :(得分:0)
我认为您错过了“存在”阶段的加入条件。请尝试这个。
onclick