![]() |
![]() |
|||||
![]() |
![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() |
|||
|
![]() |
Dit topic is 40 pagina's lang: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
||||
Auteur: |
|
|
quote: In Nero in de video_ts map slepen en op dvd branden. Bang that head that doesn't bang! ![]() |
|
quote: Firewall gebruiken. ZoneAlarm oid. Bang that head that doesn't bang! ![]() |
|
quote: Als je XP hebt, zou het kunnen dat je links een knop "klassieke weergave" hebt. Daar op klikken. Je zoekt trouwens systeembeheer (ik heb het effe opgezocht) en daaronder "services" [Dit bericht is gewijzigd door DarknessThere op 20-01-2005 9:27] ![]() |
|
Godverdomme! kan iemand mij vertellen hoe het komt dat : SVCHOST.exe continu 99% van mijn CPU geheugen neemt? en waarom het 2 X in mijn taskms staat !? Mezelf tegen friet! en spotten en al ut andere kansloos gedoe weest wel !? ![]() |
|
gooi maar weg ![]() ![]() http://www.kingsofchaos.com/recruit.php?uniqid=999x8edi Join the war !!!! ![]() |
|
quote: Tuurlijk ![]() http://www.neuber.com/taskmanager/process/svchost.exe.html ![]() |
|
Ik heb een probleem met PHP... Ik heb een database met daarin 2 tabellen: 'cd' en 'vinyl'. Nu wil ik een query maken die ALLES uit de tabellen haalt. Waarom werkt de volgende code niet: <?php $db = mysql_connect("localhost", "s135585", "*****"); mysql_select_db("s135585",$db); $result = mysql_query("SELECT DISTINCT band FROM 'cd', 'vinyl'",$db); while ($data = mysql_fetch_row($result)) { printf("%s<br>", $data[0]); } ?> ![]() |
|
MySQL said: Documentation #1052 - Column: 'band' in field list is ambiguous ![]() |
|
Omdat dat de verkeerde manier van joinen is ![]() I'm not being rude. You're just insignificant. ![]() |
|
quote: Fout 1: Je joint zonder join-voorwaarde. Op deze manier vraag je eerst alle combinaties op van alle records uit de ene tabel met alle records uit de andere tabel en haalt dan achteraf alle verschillende bands eruit. Stel de ene tabel bevat 100 records en de andere ook, dan vraag je op deze manier 10.000 records op om uiteindelijk een aantal bands in de orde van grootte van 100 terug te krijgen (pakweg). Een beetje onnodige overhead... Fout 2: Als je 2 tabellen met elkaar joint en een veld wilt selecteren dat in beide tabellen voorkomt, moet je erbij zeggen uit welke tabel die komt. Dus SELECT cd.band of SELECT vinyl.band in plaats van SELECT band. En dan zit je nog met het probleem dat records wel in de ene tabel voor kunnen komen en niet in de andere of andersom. Als je dit daadwerkelijk met één join probeert op te lossen, is het praktisch onmogelijk om zonder onnodige overhead alle relevante records terug te krijgen. (Een inner join levert namelijk alleen de records die in beide tabellen voorkomen. Een left outer join alleen de records die in de eerste tabel voorkomen en eventueel in de tweede. En een right outer join alleen de records die in de tweede tabel voorkomen en eventueel in de eerste. Maar wat je wilt is een combinatie van de twee outer joins. Daarom kun je het mijns inziens beter met een union oplossen.) Volgens mij moet je query er ongeveer zo uitzien: SELECT DISTINCT band FROM (SELECT band FROM cd UNION SELECT band FROM vinyl) Scream for mercy // He laughs as he's watching you bleed // Killer behind you // His blood lust defies all his needs // Look out I'm coming for you! ![]() |
|
quote: En wat nu als een band alleen in de vinyl-tabel voorkomt en niet in de cd-tabel? (zie mijn bovenstaande post) Scream for mercy // He laughs as he's watching you bleed // Killer behind you // His blood lust defies all his needs // Look out I'm coming for you! ![]() |
|
O ja, tussen twee haakjes: De enige echt goede manier om dit op te lossen is om een aparte band-tabel te maken, waarbij elke band dus sowieso maar 1 keer in die tabel voorkomt. Scheelt een DISTINCT (en is dus weer minder onnodige overhead). En waarbij de cd-tabel een verwijzing naar de band-tabel bevat en de vinyl-tabel ook. Op die manier elimineer je ook de redundantie uit je datamodel. Maar dat is voor de volgende keer... Scream for mercy // He laughs as he's watching you bleed // Killer behind you // His blood lust defies all his needs // Look out I'm coming for you! ![]() |
|
quote: Of korter (als ik het me goed voorheb) SELECT band from cd UNION ALL SELECT band from vinyl [Dit bericht is gewijzigd door DarknessThere op 22-02-2005 15:28] ![]() |
|
quote: Dit filtert de dubbele er niet uit (integendeel...). Scream for mercy // He laughs as he's watching you bleed // Killer behind you // His blood lust defies all his needs // Look out I'm coming for you! ![]() |
|
hmm, blijkbaar heb je gelijk... Sorry, ik zwijg al ![]() |
|
quote: Heel erg bedankt dat je tijd hebt genomen om het uit te leggen. Ik ben een beginner in dit soort werk, maar het lijkt me wel gaaf om het te kunnen. Ik heb het er vandaag nog met iemand overgehad en samen hebben we een nieuwe datastructuur opgesteld (inderdaad met 1 tabel voor de bands): ![]() Ik denk dat dit beter gaat werken of niet? Iedere band kan meerdere albums hebben. Heb je misschien MSN dat we eens kunnen overleggen enzo? Lijkt me wel leuk ![]() ![]() |
|
En verzamelCDs.. ? Meerdere bands bij 1 CD.. [Deze realiteit is gemodereerd door Illusione op 28 juni 2009] 'I'm sorry, Wendy, but I just don't trust anything that bleeds for four days and doesn't die.' ![]() |
|
quote: Ik heb maar enkele verzamelaars, dus in dat geval is de band 'V.A.' en in de tracklist kan ik dan de bands zetten... ![]() |
|
quote: Voor MSN zie m'n profiel. ![]() Kort samengevat, zou je datamodel er als volgt uit kunnen zien (bevat niet alle velden, maar is slechts ter illustratie): quote: Waarbij de vetgedrukte velden de sleutels zijn van de tabellen (de TRACKS-tabel heeft dus een samengestelde sleutel) en de onderlijnde velden zijn de verwijzingen van de ene tabel naar de andere. Op deze manier heb je zo min mogelijk redundantie in het datamodel en kun je ook V.A.-cd's op een beetje normale manier opslaan (je hoeft dan niet V.A. als artiest in de ARTIESTEN-tabel op te slaan). Mocht je dat laatste wat minder belangrijk vinden, dan zouden de ALBUMS- en TRACKS-tabellen er ook zo uit kunnen zien: quote: Maar als "noodoplossing" moet je dan dus wel V.A. als artiest in de ARTIESTEN-tabel opslaan en de namen van de verschillende artiesten in het veld TrackTitel opnemen. (Een extra veld ArtiestNaam in de TRACKS-tabel opnemen hiervoor, is weer geen nette oplossing, omdat je dan ArtiestNaam in twee verschilende tabellen hebt.) Scream for mercy // He laughs as he's watching you bleed // Killer behind you // His blood lust defies all his needs // Look out I'm coming for you! ![]() |
|
quote: Je zat heel dicht in de buurt. Als je die "ALL" weglaat, dan klopt-ie wel. Ik was even vergeten dat een UNION (zonder ALL dus) sowieso al alle DISTINCT records teruggeeft. (Ik gebruik zelf nooit UNIONS, omdat je in een goed datamodel alles met 1 query moet kunnen oplossen en met een UNION ben je al query's aan elkaar aan het plakken...). Scream for mercy // He laughs as he's watching you bleed // Killer behind you // His blood lust defies all his needs // Look out I'm coming for you! ![]() |
|
Hehe altx, heel erg bedankt ![]() ![]() ![]() ![]() |
|
Heeft iemand hier ook Goeie software (onder XP) om date te recoveren???? ![]() |
|
quote: Je wilt een datum herstellen? ![]() Welcome to the Atrocity Exhibition ![]() |
|
quote: nee een afspraakje wat in de soep liep ofzo... ![]() |
![]() |
Dit topic is 40 pagina's lang: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
![]() |
Index / Algemeen | ![]() |
![]() |
![]() |
![]() |