私はいくつかの選択を行う必要がある2つのテーブル値関数を持っています... 私はUNIONを選択しようとしていましたが、 "union all"私のIFに... それは1行2列のそれぞれの場合の条件を返す必要があります... このコードは返す必要があります:私はこれを行うことができますどのようにSQL Server ... 2つのIF条件のすべての連合
September | 50
October | 33
を?!
これは私のコードだった:
IF (select TotalTreinos from dbo.tbl_CALCULA_TREINOS_MES('20160901','20160930',2,5)) = (SELECT Presencas FROM DBO.tbl_CALCULA_PRESENCAS('Setembro',9,2))
SELECT 'Setembro' as Mes, 100 AS PercentPresencas
else
select 'Setembro' as Mes, (((SELECT Presencas FROM DBO.tbl_CALCULA_PRESENCAS('Setembro',9,2)) * 100)/(select TotalTreinos from dbo.tbl_CALCULA_TREINOS_MES('20160901','20160930',2,5))) as PercentPresencas
union all
IF (select TotalTreinos from dbo.tbl_CALCULA_TREINOS_MES('20161001','20161031',2,5)) = (SELECT Presencas FROM DBO.tbl_CALCULA_PRESENCAS('Outubro',10,2))
SELECT 'Outubro' as Mes, 100 AS PercentPresencas
else
select 'Outubro' as Mes,(((SELECT Presencas FROM DBO.tbl_CALCULA_PRESENCAS('Outubro',10,2)) * 100)/(select TotalTreinos from dbo.tbl_CALCULA_TREINOS_MES('20161001','20161031',2,5))) as PercentPresencas
あなたには、いくつかのサンプルを含むことができ、何がやりたいことは、あなたが代わりに
CASE
を使用する必要があり、クエリ、内部IF
文があること移動でありますテーブルデータ? –値が等しい場合、除算は1を返します。いいえ?それらのIFは何のためにありますか? –