webForumDet fria alternativet

case-sats

1 svar · 374 visningar · startad av asp

aspMedlem sedan aug. 2002733 inlägg
#1

Hej,

SELECT id, name,
	(SELECT COUNT(id) FROM Players WHERE teamID = T.id)
	AS nrPlayers,
	(CASE WHEN nrPlayers >= 11 THEN 1 ELSE 0 END)
	AS validTeam
FROM Teams T;

Problemet är att nrPlayers förväntas finnas i tabellen "Teams". Går detta att lösa på ett smidigt sätt? SQL-frågan jag använder innehåller ungefär tio olika select-satser som motsvarar nrPlayers. Jag inkluderade inte dessa.

LarsGMedlem sedan dec. 200012 464 inlägg
#2
select id,
         name,
         nrPlayers,
         case when nrPlayers ... end
  from (select id, 
                   name,
	           (select count(id) 
                       from Players 
                     where teamID = T.id)  AS nrPlayers,
	    from Teams T) dt
126 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)