繁体   English   中英

如何在sql中显示2个不同表中的行?

[英]How to display rows from 2 different tables in sql?

我有两个不同的表。

Test1: with 1,2,3,4 as row elements upto 10.
Test2: with a,b,c,d as row elements upto j.

我想通过一个查询显示结果,其中表中的每个偶数后面都跟着前一个字母,而奇数和其他字母被省略了。

就像在这种情况下,结果将是: 2a, 4c, 6e, 8g, 10i. And 1,3,5,7,9 and b,d,f,h,j 2a, 4c, 6e, 8g, 10i. And 1,3,5,7,9 and b,d,f,h,j将不会显示。

我需要使用没有数字或字母的较大表来执行此操作。

可能对您有帮助,在sql server中,将其更改为mysql

create table #alpha(alpha varchar(25))
insert #alpha values('a'),('b'),('c'),('d'),('e'),('f')

create table #Number(digits int)
insert #Number values(1),(2),(3),(4),(5),(6)

SELECT CAST(Number.digits as varchar(25))+''+Alphabets.alpha yourResult FROM
(SELECT ROW_NUMBER() over( order by digits asc) as id,digits from #Number ) Number
INNER JOIN (SELECT ROW_NUMBER() over( order by alpha asc) as id,alpha from #alpha ) Alphabets
ON Alphabets.id+1=Number.id
WHERE Number.digits%2=0

drop table #alpha  
drop table #Number

输出:

yourResult
2a
4c
6e

假设Test1具有一列Number,Test2具有一列Ch:

select * from Test1, Test2 where (Number%2=0) and char(95 + Number)=Ch

对于任意类型的行,尚不清楚,因为在SQL行中实际上没有任何顺序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM