3

これがばかげた質問である場合はお詫びしますが、私はこれについて頭を悩ませることができません。コロンが存在する場合にのみ値を選択したいのですが、この値は「郡」です。しかし、私はこれを正しい方法で行っているかどうかわかりませんか?どんな助けでも大歓迎です。

SELECT pe.personname AS "Person Name", pe.street||','||pe.town||','||
    IF NOT EXISTS(SELECT pe.county FROM persons pe WHERE pe.county = '')
    THEN pe.county||','|| 
    ELSE
    END IF
 pe.postcode as "Persons Address"
 FROM persons pe

郡がない場合に複数のコンマを出力する更新バージョン。

SELECT personname as "Person Name"
street||','||town||
   CASE county
   WHEN '' THEN ''
   ELSE ','||county
   END
||','||postcode as "Person Address"
from Suppliers;
4

3 に答える 3

1

私はこれに行きましたが、キーワードの欠落エラーが発生しました:-

 SELECT personname AS "Person Name", 
   street || ',' || town || ',' ||
     CASE WHEN county > ''
     THEN county || ','
     ELSE ''
     END 
   || postcode AS "Person Address"
 FROM Persons
于 2012-11-21T18:43:26.207 に答える
0

私はあなたがコンマで意味していると思います。

SELECT pe.personname AS "Person Name", pe.street||','||pe.town||
  IF pe.county <> ''
  THEN ','||pe.county
  ELSE ''
  END IF
pe.postcode as "Persons Address"
FROM persons pe

それはよりきれいかもしれません(そしてあなたがしなければならないかもしれません)これをしてください:

SELECT pe.personname AS "Person Name",
  IF pe.county <> ''
  THEN pe.street||','||pe.town||','||pe.county
  ELSE pe.street||','||pe.town
  END IF
pe.postcode as "Persons Address"
FROM persons pe
于 2012-11-20T22:10:33.987 に答える
0

2つの列を取得しようとしている場合、1つは人の名前で、2つ目は住所部分です。私は次のようにします:

    select pe.personname, pe.street || ',' || pe.town || ',' || 
(case county when not null then (county || ',') else '' end), postcode

case ステートメントを使用して郡を評価します。ある場合は、',' else '' で挿入します。

于 2012-11-20T22:14:06.910 に答える