Specs: NES | M82 | (T)FC | SNES | BS-X | VB | N64 | 64DD | NGC | Q | Q GBP | G&Ws | GB(L) | GB(A) (SP) | GBM | DS(L) | Wii
Mijn foto's op Flickr.
Grr: Te laat
Never underestimate the power of
Dit is de query zeg maar (beetje ingekort). Het ORDER BY datum moet dus die kolommen sorteren op datum. Maar dan moet ie eerst alle data uit die kolommen plukken of zo
[ Voor 0% gewijzigd door Captain N op 04-09-2002 14:37 . Reden: De code tag was niet zo goed voor de layout ;) ]
Specs: NES | M82 | (T)FC | SNES | BS-X | VB | N64 | 64DD | NGC | Q | Q GBP | G&Ws | GB(L) | GB(A) (SP) | GBM | DS(L) | Wii
Mijn foto's op Flickr.
Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'
* Is zich nog wat meer aan het verdiepen in Unions
Specs: NES | M82 | (T)FC | SNES | BS-X | VB | N64 | 64DD | NGC | Q | Q GBP | G&Ws | GB(L) | GB(A) (SP) | GBM | DS(L) | Wii
Mijn foto's op Flickr.
1
2
3
4
5
6
| SELECT spelkubus.ID, spelkubus.titel, spelkubus.datum, spelkubus.inleiding FROM spelkubus UNION SELECT spelkubusedit.ID, spelkubusedit.titel, spelkubusedit.datum, spelkubusedit.inleiding FROM spelkubusedit ORDER BY datum DESC |
Ik niet hoe het dan vervolgens met de LIMIT moet, maar daar kom je vast zelf wel uit.
Never underestimate the power of
Specs: NES | M82 | (T)FC | SNES | BS-X | VB | N64 | 64DD | NGC | Q | Q GBP | G&Ws | GB(L) | GB(A) (SP) | GBM | DS(L) | Wii
Mijn foto's op Flickr.
Never underestimate the power of
edit: Hmmm.. ik zie dat Unions vanaf versie 4.0.0 beschikbaar zijn, en mijn host draait 3 nogwat.
Specs: NES | M82 | (T)FC | SNES | BS-X | VB | N64 | 64DD | NGC | Q | Q GBP | G&Ws | GB(L) | GB(A) (SP) | GBM | DS(L) | Wii
Mijn foto's op Flickr.
Never underestimate the power of
Er zal toch wel een alternatief zijn?
Specs: NES | M82 | (T)FC | SNES | BS-X | VB | N64 | 64DD | NGC | Q | Q GBP | G&Ws | GB(L) | GB(A) (SP) | GBM | DS(L) | Wii
Mijn foto's op Flickr.
De 1ste query uitvoeren en alle resultaten in die temp table gooien.
De 2de query uitvoeren en ook alle resultaten in die tmp table gooien.
alle records uit die temp table halen en sorteren op datum.
https://fgheysels.github.io/
Specs: NES | M82 | (T)FC | SNES | BS-X | VB | N64 | 64DD | NGC | Q | Q GBP | G&Ws | GB(L) | GB(A) (SP) | GBM | DS(L) | Wii
Mijn foto's op Flickr.
1
2
3
4
5
6
7
| INSERT INTO tmpTable ( velden) SELECT * FROM table1 INSERT INTO tmpTable (velden) SELECT * FROM table2 SELECT * FROM tmpTable ORDER BY ... |
Normaal gezien moet dat als een trein lopen.
https://fgheysels.github.io/
Verwijderd
Ja, MySQL 4 installerenwww.Goku.nl schreef op 04 september 2002 @ 16:30:
Dat klinkt nogal tijdverslindendIs er niet een snellere manier
Nee zonder gein. Ben bang dat dat niet gaat lukken. Temp tabel is imo de enige oplossing.
Specs: NES | M82 | (T)FC | SNES | BS-X | VB | N64 | 64DD | NGC | Q | Q GBP | G&Ws | GB(L) | GB(A) (SP) | GBM | DS(L) | Wii
Mijn foto's op Flickr.
Verwijderd
1
| ORDER BY spelkubus.datum, anderetabel.datum, nogiets.datum |
ipv
1
| ORDER BY datum |
zou je conflict op moeten lossen...
Zo doet-ie namelijk sorteren op spelkubus.datum en daarna op anderetabel.datum, etc.
Het wordt dan wel niet 1 veld, maar wel fijn gesort...
of wil je dattie het gemiddelde neemt?
Wanneer delete je de table weer dan? Nadat je de select in een aray hebt gepropt?whoami schreef op 04 september 2002 @ 16:34:
Ik denk niet dat het zoveel meer tijdverslindend zal zijn dan de union manier....
code:
1 2 3 4 5 6 7 INSERT INTO tmpTable ( velden) SELECT * FROM table1 INSERT INTO tmpTable (velden) SELECT * FROM table2 SELECT * FROM tmpTable ORDER BY ...
Normaal gezien moet dat als een trein lopen.
Specs: NES | M82 | (T)FC | SNES | BS-X | VB | N64 | 64DD | NGC | Q | Q GBP | G&Ws | GB(L) | GB(A) (SP) | GBM | DS(L) | Wii
Mijn foto's op Flickr.
Hopelijk hoeft het geheel niet multi-user te zijn, want dan gaat dit grapje een beetje ingewikkelder worden. En vergeet ook niet om je records na afloop weer te verwijderen.whoami schreef op 04 september 2002 @ 16:27:
Een temporary tabel maken.
De 1ste query uitvoeren en alle resultaten in die temp table gooien.
De 2de query uitvoeren en ook alle resultaten in die tmp table gooien.
alle records uit die temp table halen en sorteren op datum.
Never underestimate the power of
Verwijderd
Nope, want ook op hij moet niet alleen op spelkubus.datum sorteren, maar op alle data.Verwijderd schreef op 04 september 2002 @ 16:39:
code:
1 ORDER BY spelkubus.datum
ipv
code:
1 ORDER BY datum
zou je conflict op moeten lossen...
cameodski schreef op 04 september 2002 @ 16:40:
[...]
Hopelijk hoeft het geheel niet multi-user te zijn, want dan gaat dit grapje een beetje ingewikkelder worden. En vergeet ook niet om je records na afloop weer te verwijderen.
Ik geloof dat dat geen probleem hoeft te geven. Ik dacht dat het DBMS er wel voor zorgt dat er voor iedere sessie een aparte tmp table wordt aangemaakt?
De tmp table drop je weer wanneer je die niet meer nodig hebt.
https://fgheysels.github.io/
Maar in spelkubusedit zit ook een kolom datum, en die moet ie dus meepikkenVerwijderd schreef op 04 september 2002 @ 16:39:
code:
1 ORDER BY spelkubus.datum
ipv
code:
1 ORDER BY datum
zou je conflict op moeten lossen...
Damn... DaJan was me voor
Specs: NES | M82 | (T)FC | SNES | BS-X | VB | N64 | 64DD | NGC | Q | Q GBP | G&Ws | GB(L) | GB(A) (SP) | GBM | DS(L) | Wii
Mijn foto's op Flickr.
Verwijderd
Je zou een soort van procedure kunnen schrijven die eerst alle records in de temp-tabel wist en dan pas de nieuwe invoegt. Hoef je ook niet bang te zijn dat dat na afloop niet gebeurt.cameodski schreef op 04 september 2002 @ 16:40:
[...]
Hopelijk hoeft het geheel niet multi-user te zijn, want dan gaat dit grapje een beetje ingewikkelder worden. En vergeet ook niet om je records na afloop weer te verwijderen.
Specs: NES | M82 | (T)FC | SNES | BS-X | VB | N64 | 64DD | NGC | Q | Q GBP | G&Ws | GB(L) | GB(A) (SP) | GBM | DS(L) | Wii
Mijn foto's op Flickr.
Specs: NES | M82 | (T)FC | SNES | BS-X | VB | N64 | 64DD | NGC | Q | Q GBP | G&Ws | GB(L) | GB(A) (SP) | GBM | DS(L) | Wii
Mijn foto's op Flickr.
whoami heeft inderdaad gelijk. Temp tables zijn sessie afhankelijk en kunnen na afloop gewoon weer gedropt worden.www.Goku.nl schreef op 04 september 2002 @ 16:46:
Dus ik heb een temp tabel. En telkens moet ik dan de waarden erin deleten, en niet de hele tabel right?
Ik wil alleen graag nog wel even uitleggen waarom ik mij vergiste.
Het lijkt erop dat je in deze situatie na verloop van tijd veel data in je tabellen gaat krijgen. Als je vervolgens steeds alles in de temp table moet inserten, gaat dat dus veel tijd kosten. Ik zat dus meer aan een permanente tabel te denken, waar je dan gelijk ook het een en ander met indexen kunt doen.
Never underestimate the power of
Ik heb zelf ook al wat zitten denken aan een permanente tabel, maar ik ben er nog niet helemaal achter hoe ik hem dan zou kunnen indelen/linken
Specs: NES | M82 | (T)FC | SNES | BS-X | VB | N64 | 64DD | NGC | Q | Q GBP | G&Ws | GB(L) | GB(A) (SP) | GBM | DS(L) | Wii
Mijn foto's op Flickr.
Je hebt in ieder geval een index op datum nodig en verder kun je erin mikken wat je wilt.
Never underestimate the power of
Specs: NES | M82 | (T)FC | SNES | BS-X | VB | N64 | 64DD | NGC | Q | Q GBP | G&Ws | GB(L) | GB(A) (SP) | GBM | DS(L) | Wii
Mijn foto's op Flickr.
Verwijderd
en voeg ze samen met php (ik neem aan dat je dit gebruikt)
das zonder twijfel de beste manier
En waarom dan wel?Verwijderd schreef op 04 september 2002 @ 17:54:
voer 2 losse queries uit gesorteerd op datum per tabel
en voeg ze samen met php (ik neem aan dat je dit gebruikt)
das zonder twijfel de beste manier
Je haalt eerst onnodig veel records op en gaat vervolgens de boel op een of andere manier slechts een gedeelte weer samenvoegen. Lijkt me niet echt superhandig.
Never underestimate the power of
Ja, maar er kunnen dus ook meerdere dingen dezelfde datum toegevoegd worden. En hoe kan ik makkelijk de ID (???) in die kolom koppelen aan een kolom in de overige tabellen? Wil niet iedere keer gaan kijken wat het hoogste nummer in die andere kolom is, en dan een nieuwe waarde invullen zeg maar...cameodski schreef op 04 september 2002 @ 17:14:
Foutje
Je hebt in ieder geval een index op datum nodig en verder kun je erin mikken wat je wilt.
Specs: NES | M82 | (T)FC | SNES | BS-X | VB | N64 | 64DD | NGC | Q | Q GBP | G&Ws | GB(L) | GB(A) (SP) | GBM | DS(L) | Wii
Mijn foto's op Flickr.
Nu begin je het een beetje ingewikkelder te maken.
Hoe zit het precies met dat hoogste nummer? Ik volg je daar even niet meer.
Never underestimate the power of
Nou kijk, je maakt dus een tabel aan waarin je die datum zet. En ik heb om het ff simpel te houden 2 andere tabellen. Ik noem ze ff nieuws en reviews. Stel ik voeg een nieuws item toe. Die geeft ik in een kolom datum ID een id van 1. In de datum tabel maak ik een rij aan met 1 als id en gewoon de datum. Maar als ik dan daarna een review wil uploaden moet ik daar de datumid 2 aangeven. ... En dan nog het gedoe als je 2 dingen op 1 dag upload
Specs: NES | M82 | (T)FC | SNES | BS-X | VB | N64 | 64DD | NGC | Q | Q GBP | G&Ws | GB(L) | GB(A) (SP) | GBM | DS(L) | Wii
Mijn foto's op Flickr.
Never underestimate the power of
Specs: NES | M82 | (T)FC | SNES | BS-X | VB | N64 | 64DD | NGC | Q | Q GBP | G&Ws | GB(L) | GB(A) (SP) | GBM | DS(L) | Wii
Mijn foto's op Flickr.
insert into blaat SELECT iets, anders FROM tabel1;
insert into blaat SELECT iets, anders FROM tabel2;
insert into blaat SELECT iets, anders FROM tabel3;
insert into blaat SELECT iets, anders FROM tabel4;
insert into blaat SELECT iets, anders FROM tabel5;
SELECT * from blaat ORDER BY ietsnaders LIMIT 10;
Veel plezier met temporary tables