[SQL] Select 2 maal dezelfde query

  • Goedemiddag,


    Voor een opdracht ben ik bezig met een CMS, ik kan helaas geen voorbeeld geven aangezien er hiervoor geheimhouding is getekend en bij openbaar maken kost me dit een beetje teveel.
    Ik ben nu bezig met een onderdeel groepen, deze kan de klant zelf volledig indelen en bijhouden zodat wij hiervoor na oplevering niet meer nodig zijn.


    Hoe werkt het precies?
    Ik voeg een nieuwe groep toe, deze groep kan een subcategorie zijn, wanneer dit zo is wordt deze zo opgeslagen dat we direct kunnen zien welke relatie die heeft.
    De subcategorieën worden in dezelfde SQL opgeslagen als in de hoofdcategorieën, zo kunnen we het simpel en overzichtelijk houden indien onderzoek nodig is.


    Wat lukt er niet?
    Bij een hoofdcategorie wordt er geen sub ID opgeslagen, dit blijft standaard 0 (null) als waarde.
    Maar bij een subcategorie krijgt de sub ID een ID-nummer van de hoofdcategorie, stel ik maak een 2e aan met hoofdcategorie 1 is de sub ID een 1.


    Nu wil ik in een overzicht geven welke hoofdcategorie de subcategorie valt, dus 1 hoort bij opslag ID 1.
    Alleen is het niet zo netjes om hier weer een omweg voor te maken dus wil ik dit liever binnen 1 query aanvraag behandelen zodat het overzicht clean blijft.



    Hopelijk is het zo duidelijk, iemand enig idee hoe je dit kan aanpakken, of een uitleg hoe dit mogelijk is zou voldoende moeten zijn om eruit te komen.

  • Als ik het goed begrijp, waar ik niet helemaal zeker van ben, kan dit met een INNER JOIN hier is een voorbeeld:


    SQL
    SELECT maincat.*, subcat.* FROM maincat.* INNER JOIN subcat ON maincat.id = subcat.id WHERE subcat.id = :id


    Deze laatste WHERE statement zegt welke id het moet zijn. Wat deze query wil zeggen is: selecteer alles van maincat en subcat table waar bij beide categorieën het id nummer overeen komt en waar subcat id gelijk is aan het opgegeven id.

  • @dees040
    Nee het is dezelfde tabel, met inner join had ik er nog uitgekomen mocht hij in 2 tabellen staan.


    Voorbeeld:
    ID--------------------subID--------------------Value
    1 -------------------- 0 ----------------------- Hoofdcategorie A
    2 -------------------- 1 ----------------------- Subcategorie van A
    3 -------------------- 0 ----------------------- Hoofdcategorie B
    4 -------------------- 0 ----------------------- Hoofdcategorie C
    5 -------------------- 3 ----------------------- Subcategorie van B


    Dit is het probleem, hij staat binnen dezelfde tabel en dus niet in een aparte.

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!