MySQL通过一列连接两个表,该列需要递增一个数字

MySQL通过一列连接两个表,该列需要递增一个数字,mysql,sql,Mysql,Sql,在执行连接时,我需要将数字100000添加到clients表中的所有客户机ID中。似乎(100000+c.id)AS c.id在选择中可以正常工作,但我在“左连接客户端c on p.client_id=(100000+c.id)”连接中遇到错误 查询如下所示: 选择p.id、p.date、p.document(100000+c.id)作为c.id、c.name 从付款p 在p.client_id=(100000+c.id)上左连接客户端c 其中p.date

在执行连接时,我需要将数字100000添加到
clients
表中的所有客户机ID中。似乎
(100000+c.id)AS c.id
选择
中可以正常工作,但我在“左连接客户端c on p.client_id=(100000+c.id)”连接中遇到错误

查询如下所示:

选择p.id、p.date、p.document(100000+c.id)作为c.id、c.name
从付款p
在p.client_id=(100000+c.id)上左连接客户端c
其中p.date<当前日期


有什么方法可以做到这一点吗?

尝试从别名(id而不是c.id)中删除tablename

选择p.id,p.date,p.document,(100000+c.id)作为id,c.name
从付款p
在p.client_id=100000+c.id上左连接客户端c
其中p.date<当前_日期

尝试从别名(id而不是c.id)中删除tablename

选择p.id,p.date,p.document,(100000+c.id)作为id,c.name
从付款p
在p.client_id=100000+c.id上左连接客户端c
其中p.date<当前_日期

c.id 1应该变成100001还是1000001?(我知道不需要逗号。对我来说,零太多了)


如果是第一次,我不知道你有什么问题。如果是第二个,您应该concat而不是+

c.ID1应该是100001还是1000001?(我知道不需要逗号。对我来说,零太多了)


如果是第一次,我不知道你有什么问题。如果是第二个,您应该使用concat而不是+

是p.id还是p.client\u id


也许在连接中将p.client_id更改为p.id

是p.id还是p.client_id


也许在连接上将p.client_id更改为p.id

它必须变为100001。但是我在p.client=c.id+100000上做了
,而不是在p.client\u id=100000+c.id上做
,解决了这个问题。它必须变成100001。但是我在p.client=c.id+100000上做了
,而不是在p.client\u id=100000+c.id
@Cosmin上做了
,解决了这个问题。我认为这与ON条件无关,而是与别名相关的事实。您使用了与table.column相同的别名的c.id。。这将导致左侧出现错误join@Cosmin-斯凯里奇是对的。不能在列别名()中使用表别名。ON子句中没有任何错误。@Cosmin我认为这与ON条件无关,而是与alias有关的事实。您使用了与table.column相同的alias的c.id。。这将导致左侧出现错误join@Cosmin-斯凯里奇是对的。不能在列别名()中使用表别名。ON条款中没有任何错误。
SELECT p.id, p.date, p.document, (100000 + c.id) AS  id, c.name
FROM payments p
LEFT JOIN clients c ON p.client_id = 100000 + c.id
WHERE p.date < CURRENT_DATE