簡體   English   中英

SQL select 兩個表沒有相似的條目和不同的列數

[英]SQL select two tables with no similar entry and different number of columns

上下文:兩個表中沒有相互或相似的條目,並且列數不同。 這些表之間唯一的共同點是:表 2 作為表 1 作為外鍵。

SELECT username, email 
FROM `table1`;

SELECT * 
FROM `table2` 
WHERE username = 'user1';

我想要一個看起來像這樣的結果:

用戶名:“姓名”,email:“anyemail@email.com”。 (表格1)
column1:'value',column2:數字,column3:'value',column4,column5等(表2)。

有沒有辦法在一次調用數據庫中收集這些信息? 我確實嘗試過使用 UNION 和一個 SELECT 但在這種情況下它不起作用。

謝謝你。

UNION 應該可以工作。

對於表一中缺少的列,您應該輸入帶有列名的 NULL 值。

SELECT username, email, NULL as Column3 
FROM Table1
UNION ALL
SELECT column1, column2, column3 
FROM Table2

或者也嘗試轉換數據類型,以便它們匹配。

SELECT CAST(username AS NVARCHAR(255) AS username, CAST(email AS NVARCHAR(255) AS email, CAST(NULL AS NVARCHAR(255) AS Column3
FROM Table1
UNION ALL
SELECT CAST(column1 AS NVARCHAR(255) AS username, CAST(column2 AS NVARCHAR(255) AS email, CAST(column3 AS NVARCHAR(255) AS Column3
FROM Table2

嘗試一個臨時表: https://dev.mysql.com/doc/refman/5.7/en/create-table.html

插入查詢結果並發出 SELECT 請求。

暫無
暫無

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

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