Først lige "baggrunds viden"; CREATE TABLE `ratings` ( `id` varchar(11) NOT NULL, `total_votes` int(11) NOT NULL default '0', `total_value` int(11) NOT NULL default '0', `used_ips` longtext, PRIMARY KEY (`id`) );
CREATE TABLE `game_games` ( `id` int(3) NOT NULL auto_increment, `navn` varchar(50) NOT NULL, `kategori` varchar(3) NOT NULL, `link` varchar(100) NOT NULL, `file` varchar(100) NOT NULL, `billede` varchar(100) NOT NULL, `beskrivelse` text NOT NULL, PRIMARY KEY (`id`) );
Sådan ser 2 tabeller ud, som jeg gerne vil hive en linje ud af. Den skal indeholde id, navn, billede og beskrivelse sortert efter rating. ID i de 2 tabeller er referencen mellem dem.
Jeg er helt på barbund og håber at nogen vil hjælpe :)
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
CREATE TABLE IF NOT EXISTS `game_ratings` ( `id` int(9) NOT NULL AUTO_INCREMENT, `FK_games_ID` int(9) NOT NULL, `rate` tinyint(9) NOT NULL, `ip` varchar(200) NOT NULL, PRIMARY KEY (`id`) )
Så skal det bare hentes:
SELECT *, AVG(gr.rate) as avg, COUNT(gr.id) as total FROM game_games gg LEFT JOIN game_ratings gr ON gr.FK_games_id = gg.id WHERE gg.id = 1
Når jeg lige læser igen, kan jeg se at query'en skal rettes til:
SELECT gg.*, AVG(gr.rate) as avg, COUNT(gr.id) as total FROM game_games gg LEFT JOIN game_ratings gr ON gr.FK_games_id = gg.id GROUP BY gg.id ORDER BY avg DESC
Så indsætter du en række hver gang en bruger stemmer. FK_games_id er id'et i game_games. FK står for Foreign Key, det er altså din primary key i games tabellen.
Gammel ulukket tråd, beklager. hvis du vil have point fant0mas, så smid et svar :)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.