Gå till innehåll

Hjälp med SQL sats!


DaPine87

Recommended Posts

Hmm, okej..

Jag testade iaf med postgre nu, fick skriva om frågan lite för att det skulle funka, detta funkar både i winsql och pgAdmin som följer med.

 

SELECT sum(cont_rake) as My_contributed_rake
FROM (
   SELECT ga.rake as rake,
          COUNT(gpl.player_id) as no_plrs,
          rake/COUNT(gpl.player_id) as cont_rake
   FROM game_players AS gpl INNER JOIN game AS ga ON gpl.game_id = ga.game_id
   WHERE gpl.game_id in (
       SELECT gp.game_id
       FROM game_players AS gp INNER JOIN game AS g ON gp.game_id = g.game_id
       WHERE gp.player_id = (SELECT player_id FROM players WHERE screen_name like 'ditt_alias')
             AND gp.total_bet > 0
   )
   and gpl.total_bet > 0
   and ga.rake       > 0
   GROUP BY gpl.game_id, ga.rake
) as tmp

Länk till kommentar
Dela på andra webbplatser

Givetvis!

för postgre:

 

AND gp.blind_amt = 20
AND  ga.date_played between 
date '2006-09-23' and date '2006-10-02'

 

detta skall altså stoppas in efter

 

 WHERE gp.player_id = (SELECT player_id FROM players WHERE screen_name like 'ditt alias')
             AND gp.total_bet > 0 

 

blir dock rätt segt när man kör med datumen, men det gör väl inte så mkt...

Länk till kommentar
Dela på andra webbplatser

Blinden funkar inte riktigt. I min databas så har jag NL100 och NL200, antar att det är BB man ska föra in, men om man först tar 2 och sen tar 1 och adderar dem så stämmer det inte ihop med totalen, provade att ta 0 som blind och då kom det upp en del contributed rake, så om man adderade raken för 0 så stämde det :?

Länk till kommentar
Dela på andra webbplatser

Ja det är bb, och jag tyckte också det såg lite lite ut.. men jag kollade inte så noga, ska se om jag kan fixa det

 

Edit:

 

Såhär funkar bättre:

 

SELECT sum(cont_rake) as My_contributed_rake
FROM (
   SELECT ga.rake as rake,
          COUNT(gpl.player_id) as no_plrs,
          rake/COUNT(gpl.player_id) as cont_rake
   FROM game_players AS gpl INNER JOIN game AS ga 
		ON gpl.game_id = ga.game_id
   WHERE gpl.game_id in (
       SELECT gp.game_id
       FROM game_players AS gp INNER JOIN game AS g 
			ON gp.game_id = g.game_id
       WHERE gp.player_id = 
(SELECT player_id FROM players WHERE screen_name like 'alias')
        AND gp.total_bet > 0

 AND ga.game_level_id = 
 (select game_level_id from game_level where game_level_big_bet = 2)
 AND  ga.date_played between date '2006-09-23' and date '2006-10-02'
   )
   and gpl.total_bet > 0
   and ga.rake       > 0
   GROUP BY gpl.game_id, ga.rake
) as tmp

Länk till kommentar
Dela på andra webbplatser

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gäst
Svara i detta ämne...

×   Du har klistrat in innehåll med formatering.   Ta bort formatering

  Endast 75 max uttryckssymboler är tillåtna.

×   Din länk har automatiskt bäddats in.   Visa som länk istället

×   Ditt tidigare innehåll har återställts.   Rensa redigerare

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Skapa nytt...