Sql 在两个表上进行联接,两个表具有没有匹配条件的单列
我有以下数据的代码表Sql 在两个表上进行联接,两个表具有没有匹配条件的单列,sql,Sql,我有以下数据的代码表 _________ dbo.Codes _________ AXV VHT VTY _________ dbo.email _________ x@gmail.com y@gmail.com z@gmail.com 和包含以下数据的电子邮件表 _________ dbo.Codes _________ AXV VHT VTY _________ dbo.email _________ x@gmail.com y@gmail.com z@gmail.com 我期待着通
_________
dbo.Codes
_________
AXV
VHT
VTY
_________
dbo.email
_________
x@gmail.com
y@gmail.com
z@gmail.com
和包含以下数据的电子邮件表
_________
dbo.Codes
_________
AXV
VHT
VTY
_________
dbo.email
_________
x@gmail.com
y@gmail.com
z@gmail.com
我期待着通过以下输出水平连接这两个表
__________
dbo.output
__________
AXV x@gmail.com
VHT y@gmail.com
VTY z@gmail.com
有没有办法获得所需的输出
编辑1
这两个表都包含唯一的代码和唯一的电子邮件地址假设这是SQLServer,请尝试:
; with
c as (select codes, row_number() over (order by codes) r from codes),
e as (select email, row_number() over (order by email) r from email)
select codes, email
from c join e on c.r = e.r
order by c.r
假设这是SQLServer,请尝试:
; with
c as (select codes, row_number() over (order by codes) r from codes),
e as (select email, row_number() over (order by email) r from email)
select codes, email
from c join e on c.r = e.r
order by c.r
你可以这样做
select c.Codes , e.email
from CodesTable c, emailTable e
where c.rownum = e.rownum;
你可以这样做
select c.Codes , e.email
from CodesTable c, emailTable e
where c.rownum = e.rownum;
创建一个新表
创建表测试
代码varchar32,
电子邮件varchar32
唯一代码,
UniqueMail
;
执行此sql语句的结果
选择“插入测试代码,电子邮件值”+code+,“+email+”;”从test1到test2
不会成功执行所有SQL,但表将按顺序填充
当您选择测试表时,您将得到所需的内容创建一个新表
创建表测试
代码varchar32,
电子邮件varchar32
唯一代码,
UniqueMail
;
执行此sql语句的结果
选择“插入测试代码,电子邮件值”+code+,“+email+”;”从test1到test2
不会成功执行所有SQL,但表将按顺序填充
当您选择测试表时,您将得到您想要的两个表的顺序是否总是完全相同?否则这是不可能的,因为没有关系。请检查我所做的编辑。它们是否唯一并不重要。上述问题仍然存在。你需要一些“链接”。例如:如果两个表中都有第四个条目,您能确定它们彼此属于吗?这是哪个RDBMS Oracle、SQLServer、MySQL等?您使用的是哪个工具?两个表的顺序是否总是完全相同?否则这是不可能的,因为没有关系。请检查我所做的编辑。它们是否唯一并不重要。上述问题仍然存在。你需要一些“链接”。例如:如果两个表中都有第四个条目,您能确定它们彼此属于吗?这是哪个RDBMS Oracle、SQLServer、MySQL等?您使用的是哪个工具?