mysql - 有没有办法根据查询中修改的列来联接两个表?

标签 mysql join

我有两个表,我想根据表 A 中的 _ID 字段和表 B 中的 linked_to 字段连接。我的问题涉及以下事实: linked_to 字段中的值都增加了 1000000000。这意味着 _ID 值为 123 的行需要链接到 linked_to< 的行 值为 1000000123。有没有办法从 JOIN 中的 linked_to 值中减去 1000000000?

编辑:

我发现对于大型数据库表(40,000 多行),此操作需要很长时间才能发挥作用(或者查询会导致服务器在没有解释的情况下挂起。)我还没有看到此操作起作用。有没有更有效的方法?

最佳答案

是的,假设这些值是整数,就按照你说的做。

Select _ID, linked_to FROM TableA
JOIN TableB ON TableA._ID = (TableB.linked_to - 1000000000)

关于mysql - 有没有办法根据查询中修改的列来联接两个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24810546/

相关文章:

Mysql Entityframework 抛出异常 "Facet ' Precision' 不能为类型 'datetime' 指定”

mysql - 如何将此 REPLACE INTO 语句转换为 MySQL 中的等效 UPDATE 语句?

mysql - 类似 Facebook 的通知系统(地球图标)

mysql - 在SQL查询中生成总计列,连接多个表

mysql - 使用散列密码进行身份验证?

mysql - phpmyadmin 将 CSV 导出到 Excel 会删除数据

php - 每次部署后 Amazon EC2 Linux PHP 速度都会变慢

mysql - SQL 连接。从三个表中获取数据

mysql - 如何将简单的 SQL 请求转换为 Apache PIG 脚本?

mysql - 如何使用knexjs从mysql返回插入的数据?