我想根据表A中的_ID
字段和表B中的linked_to
字段加入两个表。我的问题涉及{{1}中的值所有字段都增加了1000000000.这意味着linked_to
值为123的行需要链接到_ID
值为1000000123的行。有没有办法从中删除1000000000 JOIN中的linked_to
值?
编辑:
我发现使用大型数据库表(40,000多行)时,此操作需要很长时间才能发挥作用(或者查询导致服务器挂起而没有解释。)我还没有看到这个操作。有更有效的方法吗?
答案 0 :(得分:0)
是的,假设值是整数,只需按照你的意思去做。
Select _ID, linked_to FROM TableA
JOIN TableB ON TableA._ID = (TableB.linked_to - 1000000000)
答案 1 :(得分:0)
是。您可以在join
表达式中进行算术运算:
select *
from tableA a join
tableB b
on a._id = b.linked_to - 1000000000;
答案 2 :(得分:0)
您可以在select语句中执行算术运算。您可以使用+, - ,/,*,更改标志。 我建议使用括号。可以减去linked_to的值或添加_id的值。
您可以尝试的两个选项是:
SELECT * FROM tableA join tableB ON tableA._ID = (tableB.linked_to - 10000000000);
或
SELECT * FROM tableA join tableB ON (tableA._ID + 1000000000) = tableB.linked_to;