/
Forside
/
Teknologi
/
Udvikling
/
SQL
/
Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn
*
Kodeord
*
Husk mig
Brugerservice
Kom godt i gang
Bliv medlem
Seneste indlæg
Find en bruger
Stil et spørgsmål
Skriv et tip
Fortæl en ven
Pointsystemet
Kontakt Kandu.dk
Emnevisning
Kategorier
Alfabetisk
Karriere
Interesser
Teknologi
Reklame
Top 10 brugere
SQL
#
Navn
Point
1
pmbruun
1704
2
niller
962
3
fehaar
730
4
Interkril..
701
5
ellebye
510
6
pawel
510
7
rpje
405
8
pete
350
9
gibson
320
10
smorch
260
TOP og LEFT JOIN
Fra :
Andreas Andersen
Dato :
03-09-08 16:10
På en MSSQL Server 2005 har jeg to tabeller Companies og Contacts. For hvert
Company er der 0 eller flere Contacts. Jeg vil nu gerne finde de første 10
Companies og alle tilhørende Contacts. Nedenstående giver mig bare de første
10 rækker, men det duer jo ikke helt:
SELECT TOP 10 * FROM Companies LEFT JOIN Contacts ON Companies.CompanyID =
Contacts.CompanyID ORDER BY CompanyName, ContactName
Jeg kunne selvfølgelig bare finde de første 10 Companies og efterfølgende
søge efter de tilhørende Contacts, men det ville være rart at have det i een
forespørgsel. Lader det sig gøre?
--
Andreas
Andreas Andersen (
03-09-2008
)
Kommentar
Fra :
Andreas Andersen
Dato :
03-09-08 16:20
"Andreas Andersen" <andreas2411@gmail.invalid> wrote in message
news:48bea8da$0$56774$edfadb0f@dtext02.news.tele.dk...
> På en MSSQL Server 2005 har jeg to tabeller Companies og Contacts. For
> hvert Company er der 0 eller flere Contacts. Jeg vil nu gerne finde de
> første 10 Companies og alle tilhørende Contacts. Nedenstående giver mig
> bare de første 10 rækker, men det duer jo ikke helt:
>
> SELECT TOP 10 * FROM Companies LEFT JOIN Contacts ON Companies.CompanyID =
> Contacts.CompanyID ORDER BY CompanyName, ContactName
>
> Jeg kunne selvfølgelig bare finde de første 10 Companies og efterfølgende
> søge efter de tilhørende Contacts, men det ville være rart at have det i
> een forespørgsel. Lader det sig gøre?
Nå, nu fandt jeg på noget andet:
SELECT * FROM (SELECT TOP 10 * FROM Companies ORDER BY CompanyName) AS T1
LEFT JOIN Contacts ON T1.CompanyID = Contacts.CompanyID ORDER BY
T1.CompanyName, Contacts.ContactName
Det virker som jeg gerne vil, men hvis nogen kan finde på noget smartere
hører jeg det da gerne.
--
Andreas
Søg
Alle emner
Teknologi
Udvikling
SQL
Indstillinger
Spørgsmål
Tips
Usenet
Reklame
Statistik
Spørgsmål :
177558
Tips :
31968
Nyheder :
719565
Indlæg :
6408914
Brugere :
218888
Månedens bedste
Årets bedste
Sidste års bedste
Copyright © 2000-2024 kandu.dk. Alle rettigheder forbeholdes.