タイトルがわかりにくいのでごめんなさい。自分がやろうとしていることを言葉で表現する方法がわかりません。とにかく、インフルエンザと肺炎の2つの列を評価する必要があります。計算列は、行にFluとPneumoniaの2つの列の値が含まれているかどうかを評価し、その行のFlu列に何かが含まれている場合はFluを返し、その行のPneumonia列に何かが含まれている場合はPneumoniaを返します。SQLは次のとおりです。
CASE
WHEN FluSpecifics != '' THEN 'Flu'
WHEN PneumoniaSpecifics != '' THEN 'Pneumonia'
END as VaccineAdministered
ただし、行の両方の列に情報が含まれているかどうかを確認できるように、コードでは最初に来るため、クエリはFluSpecifics列の値のみを処理します。テーブルが次のようになっているかどうかをさらに明確にするには、次のようにします。
FluSpecifics PneumoniaSpecifics
successful vaccine successful vaccine
計算列VaccineAdministeredはFluを返します。両方が存在する場合、両方を返すためにこの列が必要です。したがって、両方の列に情報が含まれている場合は、別の行を作成するために必要です。これどうやってするの?また、両方の列を、VaccineAdministeredフィールドに「Pneumonia」が含まれる作成された行に対応するPneumoniaSpecificsデータと、VaccineAdministeredフィールドに「Flu」が含まれる作成された行に対応するFluSpecificsデータを含む1つの列にコンパイルする必要があります。
さらに必要な情報があれば、私に知らせてください。私は正確な構文を気にしません、私はそれを自分で見つけることができます(私はキャッシュSQLを使用しています)。これを行うための一般的な方法を知りたいと思います。事前にどうもありがとうございました