我有以下查詢:SQLite的 - 檢查是否有任何領域對每一列1
SELECT c.danhoEstetico, c.danhoDirecto
FROM conceptos c
INNER JOIN materialesconceptos mc ON mc.idConcepto = c.idConcepto
INNER JOIN materiales m ON m.idMaterial = mc.idMaterial
WHERE m.idMaterial IN (4,11,11)
其產生以下結果(例如):
danhoEstetico | danhoDirecto
1 | 0
1 | 0
0 | 0
0 | 0
我需要做一個查詢,如果每列中的任何項目都有1,如同一列中所有字段中的OR,則輸出爲:
danhoEstetico | danhoDirecto
1 | 0
我曾嘗試:
SELECT
SUM(CASE c.danhoEstetico WHEN c.danhoEstetico=1 THEN 1 ELSE 0 END) AS de,
SUM(CASE c.danhoDirecto WHEN c.danhoDirecto=1 THEN 1 ELSE 0 END) AS dd
FROM conceptos c INNER JOIN materialesconceptos mc ON mc.idConcepto = c.idConcepto
INNER JOIN materiales m ON m.idMaterial = mc.idMaterial
WHERE m.idMaterial IN (4,11,11)
其中,出於某種原因,收益率:
danhoEstetico | danhoDirecto
4 | 4
對此有何暗示?
標記爲刪除,因爲獲取最大值與該問題無關。 – dan1111
二進制0/1值上的'OR'與'MAX'相同。 –
我的歉意,我誤解了這個問題。 – dan1111