[英]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.