0

以下の MySQL クエリを SQLite に変更するのを手伝ってください

SELECT 
    DISTINCT t.arabic_term AS t__1,
    SUBSTR(t.definition, 1, 60) AS Definition,
    Sum(if(t3.is_main="y", 1 ,0)) AS t3__5
FROM term t 
INNER JOIN term_disease t2 ON (t2.disease_id = t.term_id) 
INNER JOIN term_disease_symptom t3 ON (t3.disease_id = t2.disease_id)
WHERE (t3.symptom_id in ( 45378 , 45351, 5546 ) AND t2.gender != 1  AND t2.active = 1 )
GROUP BY t3.disease_id
ORDER BY t3__5  desc;
4

2 に答える 2

1

SQLite には関数がありませんが、IFブール式は値 1 または 0 を持つように定義されています。したがって、その特定の式は次のようになります。

SUM(t3.is_main = 'y') AS t3__5

それ以外は標準 SQL です。

于 2012-09-27T08:32:16.440 に答える
1

Sum(if(t3.is_main="y", 1 ,0)) AS t3__5 

と交換する必要があります

SUM(CASE t3.is_main WHEN 'y' THEN 1 ELSE 0 END) AS t3__5 
于 2012-09-27T08:55:37.317 に答える