webForumDet fria alternativet
Logga in / Bli medlem

Jämföra resultat i SP

Databaser & SQL

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

Medlem sedan aug. 2000333 inlägg
Frågan#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
Medlem 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?

Medlem 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å!!

Medlem 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.

Medlem 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
251 ms totalt · 4 externa anrop · v20260731065814-full.14655e19
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)