webForumDet fria alternativet
Logga in / Bli medlem

case-sats

Databaser & SQL

1 svar · 374 visningar · startad av asp

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

Medlem 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
262 ms totalt · 4 externa anrop · v20260731065814-full.5386d3bf
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)