簡體   English   中英

從兩個表中選擇數據,它們之間根本沒有公共字段

[英]Select Data from two tables where there is no common field between them at all

我想從兩個表中選擇數據,但是它們沒有共同之處。

在“用戶”表中,字段是uid,uname和uemail

在表格中,“患者”字段為pid,pame和pemail

現在,我想在一列中選擇所有用戶電子郵件和患者電子郵件ID。 我怎么做?

你可以用UNION做到這一點

SELECT uemail FROM users
UNION 
SELECT pemail FROM patients;

如果您要區分您的電子郵件來自哪個表,請添加具有恆定值的列:

SELECT 
    'users' as source, uemail 
FROM users
UNION 
SELECT 
    'patients', pemail 
FROM patients;

請注意,如果沒有關鍵字ALL您將只能獲得不同的行。

編輯

如果需要其他列的值,只需將它們添加到選擇中:

SELECT 
    'users' as source, 
     uid, 
     uname,
     uemail
FROM users
UNION 
SELECT 
    'patients', 
    pid,
    pname,
    pemail 
FROM patients;

現在,您可以使用WHERE子句進行過濾。 請注意,列名將取自第一個SELECT語句。

SELECT * FROM
(SELECT 
    'users' as source, 
     uid as id, 
     uname as name,
     uemail as email
FROM users
UNION 
SELECT 
    'patients', 
    pid,
    pname,
    pemail 
FROM patients
) u
WHERE
    u.id = 3;

只是簡單的選擇*來自用戶,患者

暫無
暫無

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

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