1

ネストされたクエリの 2 つの結果を分割するにはどうすればよいですか?? つまり、ストアドプロシージャがあります

SELECT s.sheep_id,
       ( s.sheepThatHadBirth / ( s.sheepThatHadBirth + s1.sheepThatNotHadBirth ) ) * 100
FROM   (SELECT sheep_id,
               Count(*) AS sheepThatHadBirth
        FROM   FemaleSheep_Has_Wave
        WHERE  pregnencies_succeded = 1
        GROUP  BY sheep_id)AS s
       CROSS JOIN (SELECT sheep_id,
                          Count(*) AS sheepThatNotHadBirth
                   FROM   FemaleSheep_Has_Wave
                   WHERE  pregnencies_succeded = 0
                   GROUP  BY sheep_id)AS s1 

クロス結合のため、結果が正しくありません。助けてくださいありがとう

4

1 に答える 1

0

JOINここではまったく必要ありません

SELECT sheep_id,
       100.0 * Sum(CASE
                     WHEN pregnencies_succeded = 1 THEN 1
                     ELSE 0
                   END) / Count(*) AS pregnencies_succeded_pct
FROM   FemaleSheep_Has_Wave
GROUP  BY sheep_id 
于 2012-07-22T17:40:47.907 に答える