qualitum logo
Kan inte skicka kolumnvärde i djupare subqueries

PHPportalen Forum Index » Databaser
Lägg ett bokmärke på hela tråden
Skapa nytt inlägg   Svara på inlägget
Visa föregående ämne :: Visa nästa ämne  
Startad av: Meddelande
pettolajnen



Medlem i: 2829 dagar
Från: Täby
Status: Offline



#719539
Inlägg Skrivet: 2012-01-22 12:47      Ämne: Kan inte skicka kolumnvärde i djupare subqueries Citera

Jag ska loopa ut 23 omgångar och vilken rank jag fick i varje omgång. Och detta tänkte jag göra med hjälp av en större query.

Jag börjar med att visa queryn:

KOD:
1:
"SELECT
2:
         
3:
              round_sort
4:
            , user_id
5:
            , (SELECT rank FROM (SELECT
6:
                  
7:
                    @prev := @curr
8:
                  , @curr := (
9:
                           SELECT ifnull(SUM(points), 0) FROM users_rounds
10:
                  
11:
                              WHERE user_id      = users_rounds_2.user_id
12:
                                AND active      = 'YES'
13:
                                AND round_sort  = users_rounds_2.round_sort
14:
                           )
15:
                           AS points_total
16:
                  , @row  := @row+1 AS row
17:
                  , @rank := IF(@prev = @curr, @rank, @row) AS rank
18:
                        
19:
                  FROM users_rounds AS users_rounds_2, (SELECT @curr := null, @prev := null, @rank := 0, @row := 0) sel1
20:
                  
21:
                  WHERE active    = 'YES'
22:
                    AND round_id    = users_rounds_1.round_id
23:
                  ) AS rank_table
24:
               
25:
               WHERE user_id = users_rounds.user_id
26:
              ) AS rank
27:
         
28:
         FROM users_rounds AS users_rounds_1
29:
         
30:
         WHERE user_id = '".$_SESSION['uid']."'
31:
         
32:
         ORDER BY round_sort ASC"


Men det kör ihop sig på att att värdet i kolumnen 'round_id' inte kan ärvas två subquerys djupare. Det är i subqueryn fär aliaset 'rank' som hämtar från en tabell som i sig är ännu en nivå djupare subquery. Och det är där inne jag skulle vilja använda värdet från yttersta 'round_id'. Felmeddelandet blir då förstås:

Citat:
Unknown column 'users_rounds_1.round_id' in 'where clause'
 

_________________
http://www.websitefactory.se
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida MSN Messenger
Visa tidigare inlägg:   
Skapa nytt inlägg   Svara på inlägget
PHPportalen Forum Index » Databaser
Hoppa till:  
Du kan inte skapa nya inlägg i det här forumet
Du kan inte svara på inlägg i det här forumet
Du kan inte ändra dina inlägg i det här forumet
Du kan inte ta bort dina inlägg i det här forumet
Du kan inte rösta i det här forumet
Du kan inte bifoga filer i detta forum
Du kan inte ladda ner filer från detta forum
Kontakta oss på adressen: info@phpportalen.net
Webbplatsen bygger i grunden på phpBB © 2001, 2002 phpBB Group

Modifieringar har senare gjorts i systemet av PHPportalen
Sid och logotypdesign skapad av Daren Jularic
qualitum logo