繁体   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