簡體   English   中英

MYSQL從2個表中進行選擇,這些表的ID僅在其中一個表中

[英]MYSQL Select from 2 tables with an id that is in just in one of them

這是我的問題:我有3個表:

USERS

USERS_INFO

COMPANIES_INFO

USERS表具有字段ID 。表USERS_INFOCOMPANIES_INFO具有由ID為的外鍵鏈接的ID_USER字段。

問題是,如何選擇僅在其中一個中存在的行?

一個例子:

USERS
+----+
| id |
+----+
| 1  | 
+----+
| 2  | 
+----+

USERS_INFO
+---------+---------+
| id_user | name    |
+---------+---------+
| 1       | Jhonny  |
+---------+---------+


COMPANIES_INFO
+---------+---------+
| id_user | company |
+---------+---------+
| 2       | Apple   |
+---------+---------+

我想要的是這樣的:

SELECT * FROM users_info, companies_info WHERE id_user=2

並得到這個:

id_user = 2
company = Apple

相反,如果我做到了

SELECT * FROM users_info, companies_info WHERE id_user=1

我會得到:

id_user =1
name = Jhonny

例如,我想通過檢查兩個表USERS_INFOCOMPANIES_INFO來選擇用戶2,因為我們不知道哪個表包含該表……有什么幫助嗎?

嘗試這個:

     SELECT U.id
     FROM users U
     LEFT JOIN users_info UI ON U.id = CI.id_user
     LEFT JOIN companies_info CI ON U.id = CI.id_user
     WHERE UI.id IS NOT NULL AND CI.id IS NOT NULL

您可以嘗試以下方法:

SET @user = 1;
SELECT id_user, name FROM USERS_INFO WHERE id_user = @user
UNION
SELECT id_user, company as name FROM COMPANIES_INFO WHERE id_user = @user;

暫無
暫無

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

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