簡體   English   中英

如果 Select 值存在於另一個表中

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM