Sql 在一个表中选择2个选项的输出
我有两张这样的桌子: [people1]:Sql 在一个表中选择2个选项的输出,sql,select,Sql,Select,我有两张这样的桌子: [people1]: |First Name*| Last Name*| | | | |Martin | Green | |Peter | Blue | [People 2]: |Name* | | | |Linda | |Jane Yellow| 我希望SQL命令的输出是: |Name | | | |Mar
|First Name*| Last Name*|
| | |
|Martin | Green |
|Peter | Blue |
[People 2]:
|Name* |
| |
|Linda |
|Jane Yellow|
我希望SQL命令的输出是:
|Name |
| |
|Martin Green |
|Peter Blue |
|Linda |
|Jane Yellow |
我无法更改这两个表的结构。了解数据库很有帮助——字符串连接不一致 对于SQL Server和MySQL:
SELECT p1.first_name +' '+ p1.last_name AS name
FROM PEOPLE1 p1
UNION ALL
SELECT p2.name
FROM PEOPLE2 p2
对于Oracle,PostgreSQL:
SELECT p1.first_name ||' '|| p1.last_name AS name
FROM PEOPLE1 p1
UNION ALL
SELECT p2.name
FROM PEOPLE2 p2
双管道现在是ANSI连接字符串的方法——如果启用了严格的ANSI,MySQL可能会支持它
UNION
运算符允许组合多个查询,并删除重复项UNION ALL
不会删除重复项,而且速度更快。联合的所有查询中的列数必须相同,并且每个位置的数据类型都应该匹配。了解数据库很有帮助——字符串连接不一致
对于SQL Server和MySQL:
SELECT p1.first_name +' '+ p1.last_name AS name
FROM PEOPLE1 p1
UNION ALL
SELECT p2.name
FROM PEOPLE2 p2
对于Oracle,PostgreSQL:
SELECT p1.first_name ||' '|| p1.last_name AS name
FROM PEOPLE1 p1
UNION ALL
SELECT p2.name
FROM PEOPLE2 p2
双管道现在是ANSI连接字符串的方法——如果启用了严格的ANSI,MySQL可能会支持它
UNION
运算符允许组合多个查询,并删除重复项UNION ALL
不会删除重复项,而且速度更快。所有联合查询中的列数必须相同,并且每个位置的数据类型应匹配。您可以使用运算符
SELECT concat(first_name,last_name) as name FROM table1
UNION
SELECT concat(first_name,last_name) FROM table2
您可以使用运算符
SELECT concat(first_name,last_name) as name FROM table1
UNION
SELECT concat(first_name,last_name) FROM table2