Visa ett inlägg
Oläst 2008-05-03, 00:17 #4
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
HAVING verkar ju vara rätt lösning, men jag får inte riktigt till det.
Denna frågan kör ok:
Kod:
SELECT DISTINCT hand.id, SUM( forced.amount ), players.player_stack
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
GROUP BY hand.id
HAVING (
(
players.player_stack /
SUM( forced.amount )
)
BETWEEN 0
AND 5
)

Dock så måste jag sätta den snutten i sitt sammanhang för att kunna testa om resultatet är korrekt...och det är det inte.
Följande är hela frågan som den ser ut nu:
Kod:
SELECT DISTINCT hand.id, SUM( forced.amount ) as amount, players.player_stack as stack
FROM handdata_hand AS hand, 
 handdata_card AS card1, 
 handdata_card AS card2, 
 handdata_players AS players, 
 handdata_forced AS forced, 
 handdata_position AS position
WHERE card1.hand_id=hand.id
AND card2.hand_id=hand.id
AND players.hand_id=hand.id 
AND position.hand_id=hand.id 
AND forced.hand_id=hand.id
AND card1.player_id=players.player_id
AND card2.player_id=players.player_id
AND ((card1.value LIKE 'A_' AND card2.value LIKE 'Q_')
	AND (card1.type = 'showdown' OR card1.type = 'deal')
	AND (card2.type = 'showdown' OR card2.type = 'deal')) 
AND (position.seatcount BETWEEN 1 AND 10) 
AND (players.player_seat BETWEEN position.SB AND position.UTG)
GROUP BY hand.id
HAVING (
(
stack /
SUM( amount )
) BETWEEN 0 AND 5)

HAVING verkar fungera, men "amount" värdet är fel.

Kollar jag resultatet så jag ser "hand_id" samt "amount" för varje rad.
T.ex. har jag en rad med id 3914 och amount 900, men kör jag
"SELECT amount FROM handdata_forced WHERE hand_id = 3914"
så får jag två rader, en med 75.00 och en med 150.00.

Hur kan det komma sig att amount inte är 225 då?
blixtsystems är inte uppkopplad   Svara med citatSvara med citat