Mysql if Select with concat [关闭]

问题描述 投票:0回答:1

我需要将一个表中的供应商名称与另一个表中的供应商名称进行比较,如果两个名称不同,则显示两个名称的连接。如果两个表中的名称相同,则仅输出名称。 我尝试了很多查询,但没有一个有效,我希望得到一些帮助。 这是我最后一次尝试

IF ((SELECT vendorname FROM suppliers WHERE Id=table2.Id <> table2.`vendorname`),
        CONCAT (vendorname," (",(SELECT vendorname FROM suppliers WHERE Id=rm_agreement.Id),")") AS fullvendorname, vendorname AS fullvendorname),

一些帮助将不胜感激!

mysql if-statement concatenation
1个回答
0
投票

您的 SQL 查询似乎存在一些语法问题。

您可以尝试这种方式我希望这个查询能够工作:

SELECT CASE WHEN s.vendorname <> t.vendorname THEN CONCAT(s.vendorname,' (', t.vendorname,')')
ELSE s.vendorname
END AS fullvendorname
FROM suppliers s
JOIN table2 t ON s.Id = t.Id;
© www.soinside.com 2019 - 2024. All rights reserved.