query met alias
SELECT
memberTable.*,
titleTable.`memberId`,
SUM(voteTable.`score`) AS totalScore,
COUNT(1) AS totalTitles
FROM
`TTPMember` as memberTable,
`TTPVote` as voteTable,
`TTPTitle` as titleTable
WHERE
titleTable.`id`=voteTable.`titleId`
AND
memberTable.`id`=titleTable.`memberId`
GROUP BY
titleTable.`memberId`
ORDER BY
totalTitles + totalScore
LIMIT
5
In deze query zitten 2 aliasses (totalTitles en totalScore)
In de ORDER BY wil ik deze gebruiken.
Nu is het probleem dat totalTitles WEL goed gevonden wordt (en goed gebruikt), maar totalScore bestaat niet (1054 -> Unknown column 'totalTitles' in 'order clause')
Hoe komt het dat de ene alias wel werkt en de andere niet?
totalTitles + totalScore
Plus (+)?
ORDER BY
totalTitles, totalScore
LIMIT
uuhm nee, ik wil dat ie totalTitles optelt bij totalScore en de uitkomst daarvan als ORDER gebruikt (dus degene met hoogste totale score bovenaan komt)
ORDER BY
(totalTitles + totalScore)
Wat ik ontdekt heb is :
ORDER BY totalTitles (werkt)
ORDER BY totalScore (werkt)
Het zit hem dus echt in het optellen van de order by
SELECT
memberTable.*,
titleTable.`memberId`,
SUM(voteTable.`score`) AS totalScore,
COUNT(1) AS totalTitles,
SUM(voteTable.`score`) + COUNT(1) AS totalPoints
FROM
`TTPMember` as memberTable,
`TTPVote` as voteTable,
`TTPTitle` as titleTable
WHERE
titleTable.`id`=voteTable.`titleId`
AND
memberTable.`id`=titleTable.`memberId`
GROUP BY
titleTable.`memberId`
ORDER BY
totalPoints
LIMIT
5
sloop nog even die enorm lelijke vuile vieze gore kutdbackticks uit je query
backticks is voor veiligheid gast, stel je hebt een kolom genaamd 'select' of 'where' of 'from', dan heb je een probleem als je geen backticks gebruikt
voor jou veiligheid, haal die backticks weg
En 'gast ' lees even die tutorail over het juiste gerbuik van GROUP BY
En 'gast ' doe het nou maar elke keer is dit het probleem als het over query gaat
Roel schreef op 20.07.2007 10:57:
Die is gek! Heb je wel enig idee waar je mee bezig bent? Deze opmerking raakt kant nog wal, hoe verzin je het. Ga eens SQL leren, dan zal ook jij leren dat backtics juist (veiligheids-) problemen veroorzaken.backticks is voor veiligheid gast, stel je hebt een kolom genaamd 'select' of 'where' of 'from', dan heb je een probleem als je geen backticks gebruikt
Ritueel verbranden die zooi, ga je zitten schamen, gebruik ze nooit meer en vergeet vervolgens dat je ooit zo stom bent geweest om ze te gebruiken.
Gewijzigd op 01/01/1970 01:00:00 door Frank -
als ik overreden word heb ik een waardig opvolger ;)
haha lol zeker die zit frank maar je hebt het over ritueel edit hem ff zet ff En 'gast', er voor :P