簡體   English   中英

基於條件的 SQL 查詢列

[英]SQL Query column based on condition

抱歉,如果以前有人問過這個問題。 我有一個表,它只是一個 ID 和標志:

   ID |  A | B | C | D
   123  1   1   1   1 
   456  1   0   0   0
   123  1   0   1   1
   123  0   0   0   1

我正在嘗試實現最好的方法,如果在 A、B、C 中,如果任何 2 為 1(按 ID 分組),我可以將 D 顯示為 1。 即,如果 ID 中任何一個的列 D 為 1,則該 ID 的所有列都必須為 1。

我正在嘗試對同一張表進行左連接以實現此目的。

IE

 CASE
  WHEN A = 1 and B=1 and C=1 THEN 1
  WHEN A = 1 and B=1 THEN 1 
  WHEN A = 1 and C=1 THEN 1
  WHEN C = 1 and B=1 THEN 1
 END AS D

只需添加列並檢查它們是否大於或等於 2

IF((A+B+C) >= 2, 1, 0) AS D

如果你想使用CASE

CASE
  WHEN A+B+C >= 2 THEN 1
  ELSE 0
END AS D

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM