Archief - PHP: samenvoegen 2 recordsets

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

dJeez

Legacy Member
En wat zijn de 2 queries die je dan gebruikt?

*edit* Hieronder de oplossing voor de 2 queries (snel ff getest met dummy data) .
Query 1:
SELECT s.platform, (COUNT(s.platform) + IFNULL(p.vis_hits,0)) AS 'total'
FROM tblStats s
LEFT OUTER JOIN tblPlatform p
ON s.platform = p.platform
GROUP BY p.platform
ORDER BY total DESC

Query 2:
SELECT p.platform, p.vis_hits AS 'total'
FROM tblPlatform p
LEFT OUTER JOIN tblStats s ON p.platform = s.platform
WHERE s.platform IS NULL
group by p.platform
order by total desc
En lees nu mijn vorige uitleg nog eens, dan zie je dat er eigenlijk hetzelfde in staat uitgelegd. Bij de 1e query moet je er rekening mee houden dat de mogelijkheid bestaat dat er geen overeenkomstig record is in de 2e tabel, vandaar de IFNULL (want iets + NULL = NULL). De 2e query is enkel wat aangepast omdat het geen zin heeft een count te doen van onbestaande rijen :p.

BTW Na het samenvoegen van de 2 arrays ga je wel nog moeten sorteren op de waarde van 'total' hé als je de resultaten in de correcte volgorde wil zien...

Squall-sX-

Legacy Member
Als je toch met PHP moet samenvoegen, doe je het beter op mijn manier, niet?

dJeez

Legacy Member
Squall-sX- zei:
Als je toch met PHP moet samenvoegen, doe je het beter op mijn manier, niet?
Dan heb je nog steeds de correcte queries nodig en die staan hierboven (hoe je het mergen van de 2 datasets doet maakt niet echt denderend veel uit, je moet ze eerst hebben).

Uw pseudocode klopt trouwens niet :p.

Squall-sX-

Legacy Member
Op mijn manier zijn twee simpele selects uit elk 1 tabel genoeg (de selects die hij op't begin al had, bijvoorbeeld). De code zorgt voor de rest.
Wat is er trouwens mis met de code? Heb het zelf niet getest, maar zag er mij redelijk ok uit. Het idee erachter klopt volledig.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan