2010-11-24, 15:08
#1
Hej,
Jag har följande tabeller:
I min Windows-applikation vill jag lista alla moduler för en kund enligt ordningen från kolumnen Position i Package_Modules-tabellen.
Såhär ser min SQL-fråga ut för att lista alla modulerna för denne kund (utan rätt ordning):
Jag har försökt att göra en INNER JOIN mot tabellen Package_Modules på flera olika sätt men jag får inte till det (det blir bland annat dubbletter i så fall).
Min fråga är alltså: Hur ska jag modifera min SQL-fråga så att jag kan få mina moduler för kunden att sorteras enligt Position-kolumnen och visas i samma ordning som dom gör när jag har denna SQL-fråga:
Tack på förhand!
Jag har följande tabeller:
Kod:
------------------------------ Packages ------------------------------ ID Title Price ------------------------------ Modules ------------------------------ ID Title Price ------------------------------ Package_Modules ------------------------------ Package_Id Module_Id Price Position ------------------------------ Customers ------------------------------ Id ------------------------------ Customer_Modules ------------------------------ Customer_Id Module_Id Price
I min Windows-applikation vill jag lista alla moduler för en kund enligt ordningen från kolumnen Position i Package_Modules-tabellen.
Såhär ser min SQL-fråga ut för att lista alla modulerna för denne kund (utan rätt ordning):
Kod:
SELECT m.Id, m.Title, m.Price, cm.Returned FROM Modules m INNER JOIN Customer_Modules cm ON m.Id = cm.Module_Id WHERE cm.Customer_Id = @Customer_Id
Jag har försökt att göra en INNER JOIN mot tabellen Package_Modules på flera olika sätt men jag får inte till det (det blir bland annat dubbletter i så fall).
Min fråga är alltså: Hur ska jag modifera min SQL-fråga så att jag kan få mina moduler för kunden att sorteras enligt Position-kolumnen och visas i samma ordning som dom gör när jag har denna SQL-fråga:
Kod:
SELECT m.Id, m.Title FROM Modules m INNER JOIN Package_Modules pm ON m.Id = pm.Module_Id WHERE pm.Package_Id = @Package_Id ORDER BY pm.Position
Tack på förhand!