CONCAT_WS 在 MYSQL 中的每个后续列之前返回第一列

CONCAT_WS returning first column before each subsequent column in results in MYSQL

我有一个 table,其中有许多列与药物和处方有关。列是药物、剂量、途径、频率。 我使用了 CONCAT_WS 和 CONVERT(fields, USING UTF8) ,它们可以很好地处理 BLOB,除了最后的触摸。下面的代码。

SELECT 
CONVERT( CONCAT_WS(drug,
        ' | ',
        rout,
        ' | ',
        m.dose,
        ' | ',
        frequency) USING UTF8) AS 'Drug Info'

我得到的 returned 是

| drug | rout | drug | dose | drug | frequency | drug

.....在整个串联字段中依此类推。

任何人都可以告诉我做错了什么以及如何return...

| drug | rout | dose | frequency

我在学习 CONCAT_WS 和 CONVERT 来管理 BLOB 方面进行了一些研究和反复试验,但我完全被困在这里。

想法是在 Crystal 报告中使用此代码,但不转换它不显示的 BLOB。我只是得到一个空白字段。

我发现 CR 只接受某些文件格式作为 BLOB 图像,所以如果有人能告诉我如何找出用 MYSQL 创建的 BLOB 是什么文件格式并更改它 And/or 如何在 Crystal 报告中显示它,它同样有用和值得赞赏。

提前致谢!

CONCAT_WS 中的第一个参数是分隔符:

所以改为:

SELECT 
CONVERT( CONCAT_WS(' | ',
        drug,
        rout,
        m.dose,
        frequency) USING UTF8) AS 'Drug Info';