0

我的数据库表中有一个名为commment_user 的字段。在此字段中,我以以下格式存储了 comment_id + user_id

110-26

上面第 110 行是 comment_id,第 26 行是 user_id。现在我想 LEFT JOIN 这两个表。

我有一个左加入

`comments LEFT JOIN votes on comments.commment_user = votes.comment_id`

但是我想在 votes.comment_id 的末尾附加 user_id 例如

`comments LEFT JOIN votes on comments.commment_user(13-10) = (votes.comment_id(13) - user_id(10))`

这不是正确的 SQL 查询,因为我不知道如何在 sql 中执行此操作,只是为了让您理解。

在上面的示例(votes.comment_id(13) - user_id(10))中,它没有将“-”显示为减号,而是表示 13-10。那么,是否可以在连接两个表时在一个字段的末尾附加 user_id,如果是,我该如何在 sql 查询中编写它

4

1 回答 1

1

我想你想要这个concat()功能:

comments LEFT JOIN
votes
on comments.commment_user = concat(votes.comment_id, '-', votes.user_id)

尽管这解决了您的问题,但我建议将comment_iduser_id单独存储在votes表中。摆弄这种组合会使数据库效率降低。在这种情况下,问题被放大了,因为引擎必须将 id(可能是数字)与字符串进行比较。

于 2013-04-16T17:41:21.043 回答