小编Esp*_*nta的帖子

使用 OR 连接多列

我有一个 100 万条记录的表来加入另一个有 100000 条记录的表。但是,表 1 中有 5 个潜在的键(假设帐号、电子邮件地址、会员编号、备用电子邮件和 ID 号)和表 2 中的 60 列 () 必须用作连接键。所以,我的代码如下所示:

Select * FROM tbl1 t1 join tbl2 t2 on
t1.col1 = t2.col1 OR 
t1.col1 = t2.col2 OR
t1.col1 = t2.col3 OR
...
t1.col5 = t2.col1 
Run Code Online (Sandbox Code Playgroud)

等等。5 和 60 的组合是巨大的,它会杀死服务器。这听起来也不合逻辑。我正在考虑将 60 列作为行并增加记录数以减少列数。但是,尚不确定这是否是最佳解决方案。任何不杀死服务器的解决方案都受到高度赞赏。

注意:请注意,tb1 中的每一列都将与 tbl2 中的 10-15 列进行匹配。例如,col1包含“帐号”的列与包含col1-10所有潜在“帐号”的列相连。col1绝不会加入电子邮件地址或其他一些列。

join sql-server

4
推荐指数
2
解决办法
3万
查看次数

标签 统计

join ×1

sql-server ×1