SQL选择两个没有相似条目和不同列数的表

  • 本文关键字:相似 选择 两个 SQL sql
  • 更新时间 :
  • 英文 :


Context:两个表中没有相互或相似的条目,列数不同。这些表之间唯一的共同点是:表2作为表1的外键。

SELECT username, email 
FROM `table1`;
SELECT * 
FROM `table2` 
WHERE username = 'user1';

我想要一个像这样的结果:

用户名:' name',邮箱:'anyemail@email.com'。(表1)
column1: 'value', column2: number, column3: 'value', column4, column5等(表2)。

是否有一种方法可以在一个数据库调用中收集这些信息?我确实尝试过使用UNION和一个SELECT,但在这种情况下它不起作用。

谢谢。

UNION应该可以工作。

对于表1中缺少的列,您应该输入带有列名的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请求。

最新更新