Avatar billede 1borup1 Nybegynder
25. november 2004 - 13:37 Der er 4 kommentarer og
1 løsning

Derivedtbl - nested sql

Hej,

Jeg har et mindre problem med MS SQl.

Jeg skal lave en en forespørgsel hvor jeg skal finde en sammenhæng i solgte varer. (en slags data mining)

Den skal fungere på følgende måde:

Først skal den finde alle ordrer med productID 1 tilknyttet.
Dernæst skal den søge i resultatet og finde ordrer der har tilknyttet productID 2. Det vil sige den skal finde alle der har købt produkt 1 og produkt 2 på samme ordre.

Jeg har lavet noget SQL der ser sådan ud:

SELECT    OrderID_key, ProductID_key
FROM        (SELECT    OrderID_key, ProductID_key
                      FROM          fact_Order_Details
                      WHERE      (ProductID_key = 2144)) DERIVEDTBL
WHERE    (ProductID_key = 2130)

Og har prøvet hav af andre kombinationer.
Så vidt jeg kan lure skal den bruge nested SQL (Derivedtbl) for at virke.

Tabellen hedder fact_order_details. Og består af orderID_key samt ProductID_Key.

Hvis i kan hjælpe, gerne med en komplet SQLsætning, ville jeg sætte pris på det.
Avatar billede 1borup1 Nybegynder
25. november 2004 - 13:55 #1
hmm... det her ser ud til at virke...nogen kommentarer om det kan gøres smartere ?

SELECT    OrderID_key
FROM        fact_Order_Details
WHERE    (ProductID_key = 2144) AND (OrderID_key IN
                          (SELECT    OrderID_Key
                            FROM          fact_order_details
                            WHERE      ProductID_key = 2130))
Avatar billede arne_v Ekspert
25. november 2004 - 19:58 #2
Du kunne også lave en self join:

SELECT fod1.OrderID_key
FROM fact_Order_Details fod1,fact_Order_Details fod2
WHERE fod1.OrderID_key=fod2.OrderID_key AND fod1.ProductID_key = 2144 AND fod2.ProductID_key = 2130
Avatar billede arne_v Ekspert
12. december 2004 - 19:45 #3
Hvad siger du til den ?
Avatar billede 1borup1 Nybegynder
12. december 2004 - 19:47 #4
Den ser også fin ud, og virker også fint. Du fortjener sgu' pointene. Lav lige et svar, så accepterer jeg.
Avatar billede arne_v Ekspert
12. december 2004 - 19:48 #5
kommer her
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