mysql - SQL CONCAT 函数

标签 mysql sql

我想创建一个像这样的连接:

CONCAT(PEEL.orderno+'-'+PEEL.ordersuf+'-'+PEEL.product) AS“唯一”

    SELECT        OEEL.invoicedt, UCASE(OEEL.whse) AS Whse, OEEL.orderno, OEEL.ordersuf, OEEL.custno, UCASE(OEEL.shipto) AS Shipto, UCASE(OEEL.slsrepin) AS Slsrepin, 
                         UCASE(OEEL.slsrepout) AS Slsrepout, OEEL.returnfl, OEEL.netamt, OEEL.wodiscamt, OEEL.discamtoth, OEEL.qtyship, OEEL.commcost, ICSS.csunperstk, 
                         UCASE(ICSD.name) AS Name, UCASE(ICSD.region) AS Region, UCASE(OEEL.prodcat) AS Prodcat, UCASE(SASTA.descrip) AS Descrip, UCASE(OEEL.transtype) 
                         AS Transtype, UCASE(ARSS.user2) AS User2, OEEL.transdt, ICSS.transdt AS "ICSS.Transdt", ICSD.transdt AS "ICSD.Transdt", SASTA.transdt AS "SASTA.Transdt", 
                         ARSS.transdt AS "ARSS.Transdt", { fn CURDATE() } AS CURDATE1, { fn CURTIME() } AS CURTIME2, 
                         CASE WHEN OEEL.returnfl = '0' THEN (OEEL.netamt - OEEL.wodiscamt - OEEL.discamtoth) ELSE (- 1 * (OEEL.netamt - OEEL.wodiscamt - OEEL.discamtoth)) 
                         END AS "SALES", CASE WHEN OEEL.returnfl = '0' THEN (OEEL.qtyship * OEEL.commcost * NVL(ICSS.csunperstk, 1)) 
                         ELSE (- 1 * OEEL.qtyship * OEEL.commcost * NVL(ICSS.csunperstk, 1)) END AS "COST", 
                         (CASE WHEN OEEL.returnfl = '0' THEN (OEEL.netamt - OEEL.wodiscamt - OEEL.discamtoth) ELSE (- 1 * (OEEL.netamt - OEEL.wodiscamt - OEEL.discamtoth)) END) 
                         - (CASE WHEN OEEL.returnfl = '0' THEN (OEEL.qtyship * OEEL.commcost * NVL(ICSS.csunperstk, 1)) 
                         ELSE (- 1 * OEEL.qtyship * OEEL.commcost * NVL(ICSS.csunperstk, 1)) END) AS GP

FROM            { oj { oj { oj { oj PUB.oeel OEEL LEFT OUTER JOIN
                         PUB.icss ICSS ON OEEL.cono = ICSS.cono AND OEEL.shipprod = ICSS.prod AND OEEL.icspecrecno = ICSS.icspecrecno } LEFT OUTER JOIN
                         PUB.icsd ICSD ON OEEL.cono = ICSD.cono AND OEEL.whse = ICSD.whse } LEFT OUTER JOIN
                         PUB.sasta SASTA ON OEEL.cono = SASTA.cono AND OEEL.prodcat = SASTA.codeval } LEFT OUTER JOIN
                         PUB.arss ARSS ON OEEL.cono = ARSS.cono AND OEEL.custno = ARSS.custno AND OEEL.shipto = ARSS.shipto }
WHERE        (OEEL.cono = 1) AND (OEEL.invoicedt BETWEEN { d '2014-06-02' } AND { d '2014-06-03' }) AND (SASTA.codeiden IN ('C', 'c'))



ORDER BY OEEL.custno, OEEL.shipto, OEEL.prodcat

最佳答案

该函数的变量之间有 +(在 MySQL 中不是连接符号)。

尝试:-

CONCAT_WS('-', OEEL.orderno, OEEL.ordersuf, OEEL.prodcat) AS `Unique`

CONCAT_WS 进行连接与分隔符。第一个参数是分隔符,其他参数连接在一起。

关于mysql - SQL CONCAT 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24188966/

相关文章:

mysql - 在 MySQL 嵌套 If 中检查 Null

php - 反斜杠和撇号未正确使用 CodeIgniter 存储在 MySQL 中

sql - 使用 SQL 根据列表中的顺序选择值

mysql - 通过Airflow更新SQL数据库中的大量数据

mysql - 如何查找查询列的最小值

php - 在一个查询 API 和 PHP 中插入或更新

mysql:使用 INSERT INTO...SET 填充表时出现错误 1054

python - Scrapy MySQL : MySQLdb. _exceptions.ProgrammingError: 并非所有参数都在字节格式化期间转换

SQL 对每行中的列进行排序,并据此对行进行排序

javascript - 如何在单击/提交提交按钮时先执行 php 函数然后执行 javascript 函数