ok, jag ska definiera problemet lite mer ;) OK!Sql-sats, HUR gör man?
JAg har tre tabeller, varav en är en kopplingstabell. I den ena tabellen finns anställningsnummer som primärnyckel, i den andra är arbetsområdet en primärnyckel. Ett anställningsnummer ska kunna ha flera arbetsområden och vice versa. Mitt problem är att jag vill skapa en sql-fråga som genererar följande utskrift t.ex:
Anställningsnummer: 1
Förnamn: Anna
Efternamn: Jonsson
Arbetsområden: Systemutveckling, projektledning
INTE som två poster:
Anställningsnummer: 1
Förnamn: Anna
Efternamn: Jonsson
Arbetsområden: Systemutveckling
Anställningsnummer: 1
Förnamn: Anna
Efternamn: Jonsson
Arbetsområden: projektledning
MVH MonicaSv: Sql-sats, HUR gör man?
Du behöver öppna flera tabeller samtidigt i din SELECT sats!
Vi utgår från 3 tabeller i en många till många relation:
tbAnstalld - innehåller Namn etc
tbFunktion - innehåller de olika typerna av jobbtitlar
tbKoppling - innehåller unika ID från de bägge andra
Denna hämtar in en anställd i där en anställd har flera funktioner..OK
I detta fall kan du visa AnstNr, Namn samt funktioner.
Funktionerna kan du lägga i en Loop!
EX:
SQL = "SELECT tbAnstalld.AnstNr, tbAnstalld.Namn, tbFunktion.Funktion
FROM tbAnstalld, tbFunktion, tbKoppling
WHERE tbKoppling.AnstNr = tbAnstalld.AnstNR
AND tbKoppling.FunktionsID = tbFunktion.FunktionsID
AND tbKoppling.AnstID = " & AnstNr
ELLER..
Använd kolumnAlias så att satsen blir mer överskådlig:
SQL ="SELECT A.AnstNR, A.Namn, F.Funktion
FROM tbAnstalld A, tbFunktion F, tbKoppling K
WHERE K.AnstNr = A.AnstNr
AND K.FunktionsID = F.FunktionsID
AND K.AnstNr =" & AnstNr
Lägg allt detta på samma rad i koden först så att du ser att det funkar!
Variabeln AnstNr som jag lagt sist i satsen antar jag hämtas in från en länk eller liknande?
mvh
Torbjörn