31. marts 2003 - 20:02
Der er
12 kommentarer og 1 løsning
Datastruktur
Hvordan kan jeg select'e et kategori-id fra en table og vælge alle med dette kategori-id i en anden table, kategorisk! Eks. (db struktur): ID NAVN 1 PUNKT1 2 PUNKT2 3 PUNKT3 NAVN REFERENCE ID JAN 3 PER 2 ALLAN 2 JIMMY 1 Jeg vil gerne have at MySQL returnerer data'en (ikke visuelt) således: PUNKT1: JIMMY ------ PUNKT2: ALLAN PER ------ PUNKT3 JAN
Annonceindlæg fra SoftwareOne
31. marts 2003 - 20:05
#1
$query = mysql_query("SELECT tabel1.*, tabel2.* FROM tabel1, tabel2 WHERE tabel1.id = tabel2.id") Noget lignende dette.
31. marts 2003 - 20:06
#2
Fik ikke lige al PHP kode væk, din select: SELECT tabel1.*, tabel2.* FROM tabel1, tabel2 WHERE tabel1.id = tabel2.id
31. marts 2003 - 20:14
#3
Ja, den er jeg med på, men jeg synes ikke at mysql organisere dataen. Jeg bruger den i et php-script og med "while( $row = mysqlfetchObj )" kommer data'en ikke ud punktvis (jvf. PUNK1, PUNKT2 osv.)
31. marts 2003 - 20:17
#4
Nu skriver den dem bare ud i tilfældig rækkefølge? Så prøv med: order by tabel1.id til sidst.
31. marts 2003 - 20:20
#5
Jeg tror ikke du forstår. Outputtet bliver bare sorteret. Jeg vil gerne kunne skelne mellem PUNKT1 & PUNKT2, så jeg kan kategorisere JIMMY under PUNKT1, PER & ALLAN under PUNKT2 osv.
31. marts 2003 - 20:34
#6
Noget i retning af: SELECT PERSON.NAVN,PUNKT.NAVN FROM PERSON,PUNKT WHERE PERSON.ID=PUNKT.ID GROUP BY PUNKT.NAVN; ?
31. marts 2003 - 20:38
#7
Nope. Duer vist ikke. Der er ike nogen aggregeret funtktion.
31. marts 2003 - 20:40
#8
GROUP BY lader til IKKE at ville acceptere flere af samme PUNKT
31. marts 2003 - 20:41
#9
Enten den trivielle: SELECT PERSON.NAVN,PUNKT.NAVN FROM PERSON,PUNKT WHERE PERSON.ID=PUNKT.ID ORDER BY PUNKT.NAVN; eller hvis antallet af punkter er lille, fast og kendt: (SELECT ID,NAVN FROM PERSON WHERE ID=1) UNION (SELECT ID,NAVN FROM PERSON WHERE ID=2) UNION (SELECT ID,NAVN FROM PERSON WHERE ID=3)
31. marts 2003 - 20:53
#10
UNION !? Det er ikke nødvendigvis lille, fast og kendt, men derimod temlig dynamisk.
31. marts 2003 - 21:08
#11
UNION er valid SQL, men du vil jo næppe hardcode den SQL medmindre ID'erne er faste.
31. marts 2003 - 21:46
#12
Jo altså.. ID'erne referere jo til ID'er i en anden table. Så de er vel faste i den forstand.
01. april 2003 - 18:43
#13
Kan man åbenbart ikke.
Computerworld tilbyder specialiserede kurser i database-management