13. december 2006 - 16:03
Der er
5 kommentarer og 1 løsning
Hente alle i en afdeling ud fra ID på en i afdelingen
Hey. Jeg har lavet en tabel som indeholder informationer på folk samt et ID på den afdeling de er i. Her er den tabel som indeholder alle mine medarbejder CREATE TABLE `1_employee` ( `id` int(4) unsigned NOT NULL auto_increment, `depid` int(4) unsigned NOT NULL default '0', `firstname` varchar(64) collate latin1_danish_ci NOT NULL default '', `lastname` varchar(64) collate latin1_danish_ci NOT NULL default '', `email` varchar(255) collate latin1_danish_ci NOT NULL default '', PRIMARY KEY (`id`) ) Her er min tabel som indeholder alle mine afdelinger. CREATE TABLE `1_department` ( `id` int(4) unsigned NOT NULL auto_increment, `pid` int(4) unsigned NOT NULL default '0', `bossid` int(4) unsigned NOT NULL default '0', `name` varchar(64) collate latin1_danish_ci NOT NULL default '', PRIMARY KEY (`id`) ) depid i employee tabellem indeholder ID'et på den afdeling som de er i. Det jeg har brug for er en SQL sætning som kan hente alle som er i en afdeling ud fra et ID på en af medarbejderne i afdelingen. Håber nogle kan give mig den SQL sætning, kan nemlig ikke selv lige finde den. Hvis i ikke er med på hvad jeg mener så spørg endelig ind til det.
Annonceindlæg fra Opentext
13. december 2006 - 16:08
#1
du kunne prøve noget i retning af: SELECT * FROM 1_employee WHERE depid = (SELECT depid FROM 1_employee WHERE id = 1) den skulle finde alle medarbejdere med samme depid som den medarbejder med id = 1 Det kan muligvis laves anderledes, men kan ikke lige huske de lidt mere indviklede sql-funktionaliteter i mySQL
13. december 2006 - 16:13
#2
Sådan:? SELECT 1_department.id,1_employee.pid FROM 1_department INNER JOIN 1_employee ON 1_department.id=1_employee.pid;
13. december 2006 - 16:21
#3
sw_red_6 -> din SQL sætning virkede. Smid et svar. zynzz -> den sql sætning du kom med gav et noget mærkeligt resultat som jeg desværre ikke kan bruge...
13. december 2006 - 16:23
#4
Ókay..., sikkert fordi jeg har taget pid... .)
13. december 2006 - 16:26
#5
så får du et svar. har du prøvet med: SELECT 1_department.id,1_employee.depid FROM 1_department INNER JOIN 1_employee ON 1_department.id=1_employee.depid Den giver muligvis et andet resultat end det du fik før, hvis du bare kopiere direkte ind.
13. december 2006 - 17:22
#6
den giver alle medarbejdere som er i systemet. Men den sw_red_6's sql sætning virkede og det takker jeg for...
Computerworld tilbyder specialiserede kurser i database-management