Mijn vraag
Ik ben nu dik een half jaar bezig in de IT als software tester en schrijf vooral simpele queries, maar nu heb ik een wat ingewikkelder iets waar ik uit probeer te komen. Het gaat om het volgende:
Ik heb een enorme tabel met daarin verschillende waarden, die ongeveer als volgt is opgebouwd.
Nu is er in deze tabel een fout geslopen waarbij het formaat niet altijd goed aangepast wordt via de software. De regel is dat het formaat van het type hoofd van een klant bepalend is voor het formaat van het type suba/subb.
Dus als type hoofd formaat klein heeft, dan zouden type suba/subb voor die klant ook formaat klein moeten hebben.
In het voorbeeld hier boven gaat het dus fout in de regel met ID 6, het type hoofd heeft formaat middel, en dus zou het type suba, ook behorend bij klantnummer B, ook formaat middel moeten hebben, maar dat is kennelijk fout gegaan en toch klein.
De vraag is hoe ik in SQL alle rijen kan selecteren waarbij het formaat afwijkend is bij type suba/subb aan het type dat voor datzelfde klantnummer groen is.
Relevante software en hardware die ik gebruik
Micorsoft SQL Server Management Studio
Wat ik al gevonden of geprobeerd heb
Ik heb wat zitten klooien met self joins en subqueries, maar ik kom er niet uit. Telkens als ik een query schrijf en het voor mezelf simpel probeer te houden lukt het niet omdat ik te weinig info/regels selecteer om een vergelijking te maken.
Maar als ik het ingewikkelder maak met een self join/ subqueries of Group By/Having raak ik ook gauw het spoor bijster.
Heeft iemand een duwtje in de goede richting?
Ik ben nu dik een half jaar bezig in de IT als software tester en schrijf vooral simpele queries, maar nu heb ik een wat ingewikkelder iets waar ik uit probeer te komen. Het gaat om het volgende:
Ik heb een enorme tabel met daarin verschillende waarden, die ongeveer als volgt is opgebouwd.
ID | Klant | Type | Formaat |
1 | A | Hoofd | klein |
2 | A | SubA | klein |
3 | A | SubB | klein |
4 | B | Hoofd | middel |
5 | B | Hoofd | middel |
6 | B | SubA | klein |
7 | C | Hoofd | groot |
8 | C | Hoofd | groot |
9 | C | SubB | groot |
Nu is er in deze tabel een fout geslopen waarbij het formaat niet altijd goed aangepast wordt via de software. De regel is dat het formaat van het type hoofd van een klant bepalend is voor het formaat van het type suba/subb.
Dus als type hoofd formaat klein heeft, dan zouden type suba/subb voor die klant ook formaat klein moeten hebben.
In het voorbeeld hier boven gaat het dus fout in de regel met ID 6, het type hoofd heeft formaat middel, en dus zou het type suba, ook behorend bij klantnummer B, ook formaat middel moeten hebben, maar dat is kennelijk fout gegaan en toch klein.
De vraag is hoe ik in SQL alle rijen kan selecteren waarbij het formaat afwijkend is bij type suba/subb aan het type dat voor datzelfde klantnummer groen is.
Relevante software en hardware die ik gebruik
Micorsoft SQL Server Management Studio
Wat ik al gevonden of geprobeerd heb
Ik heb wat zitten klooien met self joins en subqueries, maar ik kom er niet uit. Telkens als ik een query schrijf en het voor mezelf simpel probeer te houden lukt het niet omdat ik te weinig info/regels selecteer om een vergelijking te maken.
Maar als ik het ingewikkelder maak met een self join/ subqueries of Group By/Having raak ik ook gauw het spoor bijster.
Heeft iemand een duwtje in de goede richting?