Visa ett inlägg
Oläst 2008-05-02, 21:42 #1
blixtsystems blixtsystems är inte uppkopplad
Flitig postare
 
Reg.datum: Mar 2005
Inlägg: 442
blixtsystems blixtsystems är inte uppkopplad
Flitig postare
 
Reg.datum: Mar 2005
Inlägg: 442
Har ett litet MySQL problem.
Jag behöver summan av ett fält i en tabell för att använda i mina WHERE kriteria, men jag är lite av en kratta på SQL och vet inte om det går och isåfall hur.

Har testat följande:
Kod:
SELECT DISTINCT hand.id
FROM handdata_hand AS hand, 
 handdata_players AS players, 
 handdata_forced AS forced 
WHERE players.hand_id=hand.id 
AND forced.hand_id=hand.id
AND ((players.player_stack / (SELECT SUM(amount) 
  FROM forced 
  WHERE hand_id = hand.id )) BETWEEN 0 AND 5)
Uppenbarligen kan jag inte använda alias i en subquery och får:
Table 'handdata.forced' doesn't exist

Det är egentligen en mycket längre fråga och använder jag inte alias i min subquery så relaterar inte resultatet till rätt "hand.id".

Kör jag innan "FROM" så vet jag inte hur jag skall kunna använda värdet under "WHERE", t.ex.:
Kod:
SELECT DISTINCT hand.id, SUM(forced.amount) AS forcedamount
FROM handdata_hand AS hand, 
 handdata_players AS players, 
 handdata_forced AS forced 
WHERE players.hand_id=hand.id 
AND forced.hand_id=hand.id
AND ((players.player_stack / forcedamount) BETWEEN 0 AND 5)
Det ger mig: Unknown column 'forcedamount' in 'where clause'

Någon som har en idé?
blixtsystems är inte uppkopplad   Svara med citatSvara med citat