我收到一個錯誤,除非我刪除count(distinct ...)
之一。有人能告訴我爲什麼以及如何解決它? 我在vfp。 iif([condition],[if true],[else])
相當於case when
多重計數(不同)
SELECT * FROM dpgift where !nocalc AND rectype = "G" AND sol = "EM112" INTO CURSOR cGift
SELECT
list_code,
count(distinct iif(language != 'F' AND renew = '0' AND type = 'IN',donor,0)) as d_Count_E_New_Indiv,
count(distinct iif(language = 'F' AND renew = '0' AND type = 'IN',donor,0)) as d_Count_F_New_Indiv /*it works if i remove this*/
FROM cGift gift
LEFT JOIN
(select didnumb, language, type from dp) d
on cast(gift.donor as i) = cast(d.didnumb as i)
GROUP BY list_code
ORDER by list_code
編輯: 顯然,你不能在同一水平上使用多個不同的命令。任何方式在這個?
錯誤? *什麼*錯誤? – 2012-02-27 20:22:28
SQL:Distinct is invalid – slicedtoad 2012-02-27 20:23:31
我會考慮的第一件事就是光標......你爲什麼使用它,總是比光標更好。 對於計數不同,我的首選是建立一個選擇語句,獲取你想加入它的ID +你正在尋找的計數(使用group by來區分),然後將它作爲一個子查詢返回到你的表。如果你可以給模式和什麼算作一個「獨特」的行,我可以爲你建立一個答案。 – Twelfth 2012-02-27 21:03:09