2017-02-20 89 views
0

У меня есть таблица с несколькими столбцами, относящимися к лекарствам и рецептам. Столбцы - это лекарство, доза, маршрут, частота. Я использовал CONCAT_WS и CONVERT (поля, используя UTF8), которые отлично справляются с BLOB, кроме последнего штриха. Код ниже.CONCAT_WS возвращает первый столбец перед каждым последующим столбцом в результатах MYSQL

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

Что я получаю возвращенное

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

.... и так далее по всей каскадной области.

Может кто-нибудь посоветовать, что я делаю неправильно и как вернуть ...

| drug | rout | dose | frequency 

Его приняли некоторые исследования и метод проб и ошибок для меня, чтобы получить это далеко касаемо обучения CONCAT_WS, а затем CONVERT управлять BLOB, но я полностью застрял здесь.

Идея состоит в том, чтобы использовать этот код в Crystal Report, но без преобразования BLOB, который он не отображает. Я просто получаю пустое поле.

Я узнал, что CR принимает только определенные форматы файлов в виде изображений BLOB, поэтому, если кто-нибудь может сказать мне, как узнать, какой формат файла BLOB при создании с MYSQL и изменить его. И/или как отображать его в Crystal Reports, он был бы столь же полезен и ценился.

Заранее благодарен!

ответ

1

Первый аргумент в CONCAT_WS является Seperator:

так изменится:

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

Пожалуйста, скажите мне, где вы живете, так что я могу прийти и поцеловать тебя! Благодаря! Простой, и я должен был выбрать это в своих исследованиях, но иногда вы так долго смотрите на то, что вы усложняете! Еще раз спасибо! –

+0

ok, я удалю свой адрес из профиля :-) –