webForumDet fria alternativet

Jämföra resultat i SP

4 svar · 257 visningar · startad av hakan@4u2.se

hakan@4u2.seMedlem sedan aug. 2000333 inlägg
#1

Om jag vill returnera data från en SP, "1" om
"antal_sprak" (select sats1) > "antal_alt" i select sats2,
"0" om om
"antal_sprak" (select sats1) < "antal_alt" i select sats2

Hur löser jag det! Tacksam för hjälp /

Hocke

Stored Procedure koden

CREATE procedure dbo.SP_stats_urvalcheck_sprak_ok
@kampanj_id int,
@sprak_id int

SELECT     SUM(TEXT_urvals_fraga_alternativ.urvals_fraga_alternativ_ID) as antal_alt_sprak
FROM         TEXT_urvals_fraga_alternativ INNER JOIN
                      urval_fraga_alternativ ON TEXT_urvals_fraga_alternativ.urvals_fraga_alternativ_ID = urval_fraga_alternativ.id
WHERE     (urval_fraga_alternativ.kampanj_id =@kampanj_id) AND (TEXT_urvals_fraga_alternativ.sprak = @sprak_id)

SELECT     SUM(id) as antal_alt FROM urval_fraga_alternativ WHERE kampanj_id =  @kampanj_id

GO
LarsGMedlem sedan dec. 200012 464 inlägg
#2
CREATE procedure dbo.SP_stats_urvalcheck_sprak_ok
@kampanj_id int,
@sprak_id int

as

if (SELECT     @SUM(TEXT_urvals_fraga_alternativ.urvals_fraga_alternativ_ID) as antal_alt_sprak
FROM         TEXT_urvals_fraga_alternativ INNER JOIN
                      urval_fraga_alternativ ON TEXT_urvals_fraga_alternativ.urvals_fraga_alternativ_ID = urval_fraga_alternativ.id
WHERE     (urval_fraga_alternativ.kampanj_id =@kampanj_id) AND (TEXT_urvals_fraga_alternativ.sprak = @sprak_id) >

(SELECT     SUM(id) as antal_alt FROM urval_fraga_alternativ WHERE kampanj_id =  @kampanj_id) 
select 1
else
select 0
GO

Vad skall hända om antalet är lika?

Vill du att jag flyttar din fråga till en egen tråd?

hakan@4u2.seMedlem sedan aug. 2000333 inlägg
#3

Flytta den gärna till en egen tråd!

Om antalet är lika ska det vara "1" annars "0", det blir bättre så!!

LarsGMedlem sedan dec. 200012 464 inlägg
#4

Ok

CREATE procedure dbo.SP_stats_urvalcheck_sprak_ok
@kampanj_id int,
@sprak_id int

as

if (SELECT     @SUM(TEXT_urvals_fraga_alternativ.urvals_fraga_alternativ_ID) as antal_alt_sprak
FROM         TEXT_urvals_fraga_alternativ INNER JOIN
                      urval_fraga_alternativ ON TEXT_urvals_fraga_alternativ.urvals_fraga_alternativ_ID = urval_fraga_alternativ.id
WHERE     (urval_fraga_alternativ.kampanj_id =@kampanj_id) AND (TEXT_urvals_fraga_alternativ.sprak = @sprak_id) [b]>=[/b]

(SELECT     SUM(id) as antal_alt FROM urval_fraga_alternativ WHERE kampanj_id =  @kampanj_id) 
select 1
else
select 0
GO

Det är bara att ändra på relationsoperatorn.

hakan@4u2.seMedlem sedan aug. 2000333 inlägg
#5

Tack nu fungerar det Lars!!

PS. Publicerar koden igen, för det var några små fel på den om någon annan behöver den!! Ds.

CREATE procedure dbo.SP_stats_urvalcheck_sprak_ok
@kampanj_id int,
@sprak_id int

as

if (SELECT     SUM(TEXT_urvals_fraga_alternativ.urvals_fraga_alternativ_ID) as antal_alt_sprak
FROM         TEXT_urvals_fraga_alternativ INNER JOIN
                      urval_fraga_alternativ ON TEXT_urvals_fraga_alternativ.urvals_fraga_alternativ_ID = urval_fraga_alternativ.id
WHERE     (urval_fraga_alternativ.kampanj_id =@kampanj_id) AND (TEXT_urvals_fraga_alternativ.sprak = @sprak_id)) =

(SELECT     SUM(id) as antal_alt FROM urval_fraga_alternativ WHERE kampanj_id =  @kampanj_id) 
	select 1
else
	select 0
GO
129 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)