Avatar billede radiohead Nybegynder
18. april 2009 - 20:10 Der er 8 kommentarer og
1 løsning

SELECT fra 2 tabeller

Hey

Jeg vil gerne select'e noget fra tabel1 og derefter noget i tabel2 hvor id'et matcher noget fra tabel1.
Gav det mening? næppe :)

Laver lige et lille eksempel.


Altså først: select * from tabel1

Derefter: SELECT count(*) from tabel2 where field1=(id'et fra tabel1)

Hvordan kan jeg gøre det i et statement?
Avatar billede radiohead Nybegynder
18. april 2009 - 20:20 #1
Det er egentlig fordi jeg gerne vil selecte nogle blogartikler, og de tilhørende kommentarer(som befinder sig i tabel2)
Avatar billede arne_v Ekspert
18. april 2009 - 22:05 #2
En join måske ?

SELECT *
FROM tabel1 JOIN tabel2 ON tabel1.id=tabel2.refid
Avatar billede radiohead Nybegynder
18. april 2009 - 22:41 #3
Ja, det var det jeg tænkte, men jeg er mildt sagt ikke en ørn til SQL :)

Nu siger den, at der er en syntaktfejl?
Avatar billede arne_v Ekspert
18. april 2009 - 22:47 #4
Hvad er den præcise fejl besked?
Avatar billede radiohead Nybegynder
18. april 2009 - 23:11 #5
"Der er en syntaksfejl i from delsætningen..." eller noget i den stil.
Men jeg har valgt en anden - knap så holdbar - løsning nu. Havde ikke tålmodighed :)


Jeg smider til gengæld et par ekstra point i puljen for et .net problem. :)


Det drejer sig om, at få en repeater kontrol til at loope blogindlæggende/nyhederne.
Under nyhederne skal antallet af kommentarer til hver enkelt nyhed stå... f.eks: "der er 5 kommentarer til denne nyhed".

Det vil sige, at repeateren skal fyldes med data fra artiklen-tabellen og et count fra comment-tabellen.

Normalt er min repeater-datasource en datatable, og jeg har altid haft det problem, at jeg ikke (på en nem måde) kan tilføje ny data til den datatable. Altså data fra en anden tabel.


Forstår du hvad jeg mener?
Avatar billede radiohead Nybegynder
18. april 2009 - 23:12 #6
kan man ikke længere afsætte flere point?
Avatar billede arne_v Ekspert
19. april 2009 - 01:53 #7
Drop DataSet.

Lave en query som:

SELECT artikel.overskrift,COUNT(*) AS n
FROM artikel JOIN comment ON artikel.id=comment.artikel
GRPUP BY artikel.overskrift

Læs med en DataReader ind i List<Artikel> eller brug alternativt en O/R mapper.

Brug den List<Artikel> som DataSource for din repeater.
Avatar billede radiohead Nybegynder
29. april 2009 - 19:59 #8
læg et svar
Avatar billede arne_v Ekspert
29. april 2009 - 20:01 #9
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