0

したがって、「マスター」と「エディション」と呼ばれる2つのブール列を含むテーブルがあります。このテーブルは私が作成したものではありません。他の誰かが作成したものです。テーブルにはすでに多くのデータが含まれており、変更することはできません。そのため、これを使用する必要があります。

これが必要です。マスター列とエディション列を新しい列に結合する SELECT ステートメントを実行する必要があります。新しい列には、文字 'm' (マスターが 1 の場合)、'e' (エディションが 1 の場合)、または 'u' (両方が 0 の場合) のいずれかが含まれている必要があります。今、私はそれを行う方法がわかりません。誰でもこれで私を助けることができますか?

4

3 に答える 3

1

これを試して:

select 
CASE
    WHEN master = 0 and edition = 0 THEN 'u'
    WHEN master = 1 and edition = 0 THEN 'm'
    WHEN master = 0 and edition = 1 THEN 'e'
    ELSE '???' -- when either are one???
END 
from myTable
于 2013-07-30T10:55:55.907 に答える
0

これを行うには複数の方法があります。を使用するのが最も簡単ですが、別の方法があります。 andCASEの行がない場合、これは機能します。master=1edition=1

select *, 'm' from table where master=1
union
select *, 'e' from table where edition=1
union
select *, 'u' from table where edition=0 and master=0
于 2013-07-30T10:59:06.377 に答える