MySQL的通过需要由一些
我需要数十万添加到所有客户端的ID在clients
表时,我执行加入递增一列连接两个表。似乎(100000 + c.id) AS c.id
在SELECT
工作正常,但我上`LEFT JOIN客户C对p.client_id =(100000 + c.id)”加入一个错误。MySQL的通过需要由一些
查询看起来是这样的:
SELECT p.id, p.date, p.document, (100000 + c.id) AS c.id, c.name FROM payments p LEFT JOIN clients c ON p.client_id = (100000 + c.id) WHERE p.date < CURRENT_DATE
有没有什么办法可以做到这一点?
尝试从别名删除表名(ID而不是c.id)
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
是c.id 1应该成为100,001或1,000,001? (我知道是不是需要逗号。有太多的零对我来说)
如果它应该是第一个,我不知道你的问题是什么。如果是第二个,你应该Concat的,而不是+
它有可能成为100001,但我解决它做'ON p.client = c.id + 100000'取代'ON p.client_id = 100000 + c.id'。 – Cosmin
它是P.id或p.client_id ????
也许在加入时将p.client_id更改为P.id
显然'ON p.client = c.id + 100000'工作。 – Cosmin
@Cosmin我认为这是不相关的condtion,但在涉及到别名..你有别名使用c.id的事实是一样的TABLE.COLUMN ..这导致在左加入 – scaisEdge
错误@ Cosmin ..以及如果我的回答是正确的,请将其标记为已接受 – scaisEdge