Ik ben bezig met het schrijven van een voorraadbeheer module maar nu zit ik met het volgende probleem.
De server waar hij op moet draaien gebruikt nog MySQL 3.x en ik gebruik tot 5 geneste subqueries in mijn SQL statements. Ik gebruik deze om te bepalen tot welke groep de getoonde gegevens behoren en
vervolgens dit ook van het bovenliggende niveau te weergeven. Er is maximaal een 6e niveau maar er kunnen ook minder niveau's zijn.
Het probleem is, dat de hoeveelheid gegevens die in een niveau staan nooit vast staat en dus dynamisch is. Er moet een overzicht gemaakt worden van alle gegevens die in de op dat moment geselecteerd niveau staan binnen een niveau groep of dmv een zoekopdracht zoals in de onderstaande query.
De server waar hij op moet draaien gebruikt nog MySQL 3.x en ik gebruik tot 5 geneste subqueries in mijn SQL statements. Ik gebruik deze om te bepalen tot welke groep de getoonde gegevens behoren en
vervolgens dit ook van het bovenliggende niveau te weergeven. Er is maximaal een 6e niveau maar er kunnen ook minder niveau's zijn.
Het probleem is, dat de hoeveelheid gegevens die in een niveau staan nooit vast staat en dus dynamisch is. Er moet een overzicht gemaakt worden van alle gegevens die in de op dat moment geselecteerd niveau staan binnen een niveau groep of dmv een zoekopdracht zoals in de onderstaande query.
SQL:
1
2
3
4
5
6
7
8
9
10
| SELECT data_sub5.cat_parrent AS sub_cat, data_sub5.data_data AS sub_data, data_sub5.data_ID AS sub_ID, data_sub5.data_parrent AS sub_parrent, data_sub4.data_data, data_sub4.cat_parrent AS data_parrent FROM data_sub5 INNER JOIN data_sub4 ON data_sub5.data_parrent=data_sub4.data_ID WHERE data_sub5.data_data LIKE '%$zoeken%' AND data_sub5.data_parrent IN ( SELECT data_ID FROM data_sub4 WHERE data_ID IN ( SELECT data_ID FROM data_sub3 WHERE data_ID IN ( SELECT data_ID FROM data_sub2 WHERE data_ID IN ( SELECT data_ID FROM data_sub1 where data_parrent IN ( SELECT data_ID FROM data_group WHERE data_parrent = ( SELECT group_name FROM cat_group WHERE group_ID = $id |
[ Voor 2% gewijzigd door RobIII op 31-10-2007 00:46 . Reden: code tags toegevoegd en de query van 1 lange 'zin' omgezet naar iets leesbaars ]
Desktop: Define R6 - MSI X570 ACE - R9 5900X - 16GB Crucial 3600CL16 - Sapphire Nitro+ 6900XT SE - EVGA P2 750 Desktop 2: Define R5 - MSI X470 Gaming M7 - R7 1700 - Corsair Vengeance 3200c16 16GB - Sapphire Fury - Corsair AX850