У меня есть текущий код, который создает строку адресов, как это:
addressStreet = "";
if(q1.addr1 != "") {
addressStreet = addressStreet & q1.addr1;
}
if(q1.addr2 != "") {
addressStreet = addressStreet & "<br>" & q1.addr2;
}
if(q1.addr3 != "") {
addressStreet = addressStreet & "<br>" & q1.addr3;
}
if(q1.addr4 != "") {
addressStreet = addressStreet & "<br>" & q1.addr4;
}
Q1
- запрос, в котором расположены все столбцы. Я пытался сделать все это объединение в запросе Sybase SQL. Вот пример того, что я пробовал:
DECLARE @AddressStreet VARCHAR(500)
SELECT
CASE
WHEN datalength(address1) > 0 THEN @AddressStreet + address1
WHEN datalength(address2) > 0 THEN @AddressStreet + address2
WHEN datalength(address3) > 0 THEN @AddressStreet + address3
WHEN datalength(address4) > 0 THEN @AddressStreet + address4
END AS AddressStr
FROM Info
WHERE recid = 1214
Запрос выше дал такой результат:
18 Wolf Street,
Этот результат неверен, поскольку столбец address2
имеет это значение: Suite 408
. Адрес должен выглядеть так:
18 Wolf Street,
Suite 408
Есть ли способ получить желаемый результат в Sybase SQL? Спасибо.