1

「はい、私のテーブルが1NFに準拠していないことはわかっています」と言うことから始めます。私は古いものを扱っていますが、それを変更することはできません。どうぞ、それについてのコメントはありません。

今、問題に:

select title,address,zip,city, concat(telefon1,',',telefon2,',',telefon3) as phone

これに伴う問題は、の列の1つconcatがnullまたは空になるまで正常に機能することです。もしそうなら、私Nullは電話の列の結果を取得します。3つすべてに値がある場合、すべてが期待どおりに機能します。

どうすればこの問題を克服できますか?

4

2 に答える 2

5

これを試して:

SELECT title,address,zip,city,CONCAT(
    COALESCE(telefon1,''), ',',
    COALESCE(telefon2,''), ',',
    COALESCE(telefon3,'')) as phone
于 2011-09-23T08:15:58.397 に答える
1

各テレフォン列ifnull(...,'')を折り返しnullて空白にします。

select ..., 
    concat(ifnull(telefon1,''),',',ifnull(telefon2,''),',',ifnull(telefon3,'')) as phone
于 2011-09-23T08:16:35.027 に答える