sql - 加入一列,如果没有匹配加入另一列

标签 sql tsql join

我试图在我的连接中使用多个列,如下所示:

FROM Table1 t
INNER JOIN Table2 s ON t.number = s.number OR t.letter = s.letter

这两个表都有几十万行数据,并且无限运行。

有任何想法吗?

最佳答案

你的意思是这样的:

FROM Table1 t
INNER JOIN Table2 s ON case
  when t.number = s.number then 1
  when t.letter = s.letter then 1
  else 0 end = 1

第一个匹配条件获胜。

关于sql - 加入一列,如果没有匹配加入另一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35660908/

相关文章:

sql-server - SQL Server : Put stored procedure result set into a table variable without specifying its schema

sql - 在 SQL Server 2008 中使用 PIVOT

sql - T-SQL 查询性能难题 : Why does using a variable make a difference?

mysql - 挣扎于简单的 SQL JOIN

MYSQL 按月选择结果计数

sql - 与 BigQuery SQL 的余弦相似度?

sql - Oracle sysdate 不等于存储日期

sql - 如何将纬度、经度坐标转换为postgis地理类型

sql - 甲骨文 SQL : Why is my function outputting null?

sql - Oracle子查询与Join - 如何引用子查询列?