簡體   English   中英

MySQL從兩個不同的表中獲取結果

[英]MySQL getting results from two different tables

我正在研究如何將這兩個查詢合並為一個。

SELECT * FROM customers WHERE email = 'email';
SELECT * FROM organisations WHERE email = 'email';

在我的網站上,我們使用電子郵件地址作為用戶名。 應該可以使用您作為組織注冊的用戶名以及您作為客戶注冊的用戶名登錄。

不能使用已與組織帳戶關聯的相同電子郵件地址創建客戶帳戶,反之亦然。

提前致謝,桑德

$email = 示例郵件

SELECT * FROM 客戶、組織 WHERE(customers.email = '$email' AND organizations.email = '$email')

我認為您應該為兩者設置一張表,並添加一個名為 isOrganization 的新列,對於注冊為組織成員的人為 1,否則為 0。

像這樣添加相同的

SELECT * FROM customers, organisations WHERE customers.email = organisations.email AND customers.email = '$email'

如果您想知道電子​​郵件是否有效,您可以執行以下操作:

SELECT (CASE WHEN EXISTS (SELECT 1 FROM customers WHERE email = 'email')
             THEN 'customer'
             WHEN EXISTS (SELECT 1 FROM organisations WHERE email = 'email')
             THEN 'organization'
        END) as match_type;

NULL值表示沒有匹配項。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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