我正在尝试左连接两个表。这部分很简单。
我有两个表:产品和产品更新
产品表如下所示
id | productname | description
产品更新表如下所示
id | productname | descriptionupdate
我过于简化了这个例子。还有更多专栏,不仅仅是这些。
SELECT productname, description
FROM product
LEFT JOIN productupdate ON
product.id = productupdate.id WHERE id = ?
我想要实现的是连接两个表,如果右表(产品更新)中存在描述更新,则仅保留产品更新中的描述更新,并且不应保留产品表中的描述。
如果我使用左连接,右表中的所有内容都会添加到左表中,并且一个产品将有多个描述。
我应该如何编写查询。
最佳答案
连接表并按 productupdate
降序排列日期列,仅获取第一行:
SELECT
p.productname,
u.description
FROM product p LEFT JOIN productupdate u
ON p.id = u.id
WHERE p.id = ?
ORDER BY u.datecolumn DESC
LIMIT 1
关于mysql - 左连接两个表,如果两个表中都存在值,则保留右表中的最新值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56611410/