|  | 		    
					
        
         
          
         
	
          | |  | Relation mellem to felter i DB Fra : Jacob ..
 | 
 Dato :  28-01-04 22:08
 | 
 |  | 
 
            Jeg ved at dette ikke er en desideret database, men jeg kan ikke
 connecte til database-NG'en.
 Jeg har to tabeller:
 1) tblPerson (Felter: ID & Navn)
 2) tblArtikler (Felter ArtID & ArtNavn)
 Når en person skriver en artikel, får artiklen et ArtID og den
 pågældene persons navn føres i tblArtikler ArtNavn.
 Kan jeg i tblPerson lave et felt der hedder ArtAntal som tæller
 alle ArtID'er med den der har samme Navn som ArtNavn?
 -- 
 Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
  - Pædagogiske tutorials på dansk
  - Kom godt i gang med koderne
 KLIK HER! => http://www.html.dk/tutorials |  |  | 
  Jørn Andersen (29-01-2004) 
 
	
          | |  | Kommentar Fra : Jørn Andersen
 | 
 Dato :  29-01-04 15:19
 | 
 |  | On Wed, 28 Jan 2004 21:07:54 +0000 (UTC), Jacob .. <laessoe@yahoo.com>
 wrote:
 
 >Jeg har to tabeller:
 >1) tblPerson (Felter: ID & Navn)
 >2) tblArtikler (Felter ArtID & ArtNavn)
 >
 >Når en person skriver en artikel, får artiklen et ArtID og den
 >pågældene persons navn føres i tblArtikler ArtNavn.
 
 Jeg er lidt i tivl om, hvorvidt artNavn *kun* indeholder forfatterens
 navn eller også artiklens navn?
 
 Det vil være smartest at have et relateret felt i tblArtikler, som
 henviser direkte til tblPerson.ID.
 
 altså: tblArtikler (Felter: ArtID, ArtNavn, PersonId)
 
 >Kan jeg i tblPerson lave et felt der hedder ArtAntal som tæller
 >alle ArtID'er med den der har samme Navn som ArtNavn?
 
 Nej, du skal lave det som en forespørgsel - noget i retning af:
 SELECT DISTINCTROW tblPerson.PersonId, tblPerson.PersonNavn, Count(*)
 AS [AntalArtikler]
 FROM tblPerson INNER JOIN tblArtikler ON tblPerson.PersonId =
 tblArtikler.PersonId
 GROUP BY tblPerson.PersonId, tblPerson.PersonNavn;
 
 Den vil vise 3 felter: PersonId, PersonNavn, AntalArtikler
 (Ret selv lige navnene til - de er kopieret fra et eksempel i Access.)
 
 Good luck!
 
 --
 Jørn Andersen,
 Brønshøj
 
 
 |  |  | 
  Jacob Læssøe Nielsen (29-01-2004) 
 
	
          | |  | Kommentar Fra : Jacob Læssøe Nielsen
 | 
 Dato :  29-01-04 21:43
 | 
 |  | 
 > Nej, du skal lave det som en forespørgsel - noget i retning af:
 > SELECT DISTINCTROW tblPerson.PersonId, tblPerson.PersonNavn, Count(*)
 > AS [AntalArtikler]
 > FROM tblPerson INNER JOIN tblArtikler ON tblPerson.PersonId =
 > tblArtikler.PersonId
 > GROUP BY tblPerson.PersonId, tblPerson.PersonNavn;
 Den virkede ikke - alle de relationer har gjort mig helt rundtosset!
 Forsøger igen i morgen.
 ---
 Outgoing mail is certified Virus Free.
 Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.571 / Virus Database: 361 - Release Date: 26-01-2004
            
             |  |  | 
  Jørn Andersen (29-01-2004) 
 
	
          | |  | Kommentar Fra : Jørn Andersen
 | 
 Dato :  29-01-04 22:28
 | 
 |  | On Thu, 29 Jan 2004 15:19:22 +0100, Jørn Andersen <jorn@jorna.dk>
 wrote:
 
 >On Wed, 28 Jan 2004 21:07:54 +0000 (UTC), Jacob .. <laessoe@yahoo.com>
 >wrote:
 <snip>
 >>Kan jeg i tblPerson lave et felt der hedder ArtAntal som tæller
 >>alle ArtID'er med den der har samme Navn som ArtNavn?
 >
 >Nej, du skal lave det som en forespørgsel - noget i retning af:
 >SELECT DISTINCTROW tblPerson.PersonId, tblPerson.PersonNavn, Count(*)
 >AS [AntalArtikler]
 >FROM tblPerson INNER JOIN tblArtikler ON tblPerson.PersonId =
 >tblArtikler.PersonId
 >GROUP BY tblPerson.PersonId, tblPerson.PersonNavn;
 >
 >Den vil vise 3 felter: PersonId, PersonNavn, AntalArtikler
 >(Ret selv lige navnene til - de er kopieret fra et eksempel i Access.)
 
 Det er vist ikke specielt klart, men forudsætningen er, at der er to
 tabeller:
 tblPerson:
 PersonId
 PersonNavn
 
 tblArtikler:
 PersonId
 ArtikelNavn
 PersonId
 
 Good luck!
 
 --
 Jørn Andersen,
 Brønshøj
 
 
 |  |  | 
 |  |