Avatar billede bongii Nybegynder
20. februar 2008 - 14:28 Der er 3 kommentarer og
1 løsning

Er gået kold i sql forespørgsel

Hej.

Jeg har en database der tager udg. punkt i følgende model:
The Adjacency List Model (http://dev.mysql.com/tech-resources/articles/hierarchical-data.html), dvs. min struktur ser ud som følger.

Katagori:
ID - Name - ParentID

Artikler:
ID - Name - KatagoriID

En søgning på et katagorinavn skal udskrive katagorinavnet - alle underliggende katagorier og selvfølgelig med artiklerne der er tilknyttet katagorierne.

Nedenstående udtræk gør det lidt, men kan ikke få dem omskrevet til én streng jeg kan bruge i asp og kan heller ikke få den til at tage posterne med fra tabellen "Artikler":

WITH x (id, name, parentID) AS
(
    SELECT id,name,parentID FROM ArticleCatagory WHERE name = 'oksekød'
    UNION ALL
    SELECT ArticleCatagory.id,ArticleCatagory.name,ArticleCatagory.parentID FROM ArticleCatagory INNER JOIN x ON ArticleCatagory.ParentID = x.id
)
SELECT * FROM x order by parentID
GO


Er der en SQL haj der kan hjælpe?
Avatar billede arne_v Ekspert
22. februar 2008 - 04:27 #1
Hvis du dropper GO og putter det hele i en lang streng så kan det vel udføres i ASP.

Nu matcher din beskrevne tabel struktur og din SQL ikke, men jeg gætter på at du skal
have en ekstra JOIN ind i de to inner SELECT.
Avatar billede bongii Nybegynder
22. februar 2008 - 08:50 #2
Jeg har lavet det som store procedure. Jeg ved godt at navnene ikke lige er det samme, de er engelske i databasen.

Det er faktisk dig der har givet mig sql forespørgslen tidligere og den har jeg arbedet videre med.

Jeg har prøvet med alle mulige kombinationer af: "select a.id, a.name, a.parentid, b.catagoryid, b.name from articlecatagory as a....", det kan jeg ikke få til at virke, heller ikke inner join.
Avatar billede bongii Nybegynder
03. november 2008 - 15:45 #3
Arne smider du et svar?
Avatar billede arne_v Ekspert
03. november 2008 - 15:57 #4
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester