Avatar billede soc127754 Nybegynder
19. april 2003 - 00:02 Der er 16 kommentarer og
1 løsning

Enslydende id-felter i query

Jeg har en query fra flere tabeller hvor der i alle tabellerne er et enslydende id-felt. Jeg har behov for at udtrække alle felter - dvs.:
"select * from osv...", men hvordan laver jeg samtidigt et alias eller lign. så jeg kan tilgå det id-felt jeg gerne vil tilgå eller hvad skal jeg skrive når jeg henter det fra mit recordsæt? (er ikke vandt til mYSQL kun Access).
Avatar billede erikjacobsen Ekspert
19. april 2003 - 00:03 #1
select tabel1.id as id1, tabel2.id as id2, osv...
Avatar billede morw Nybegynder
19. april 2003 - 00:04 #2
select tabel1.id as id1, tabel2.id as id2,
Avatar billede morw Nybegynder
19. april 2003 - 00:04 #3
Skummelt
Avatar billede soc127754 Nybegynder
19. april 2003 - 00:04 #4
Jo - det ville jeg også gøre, men hvordan får jeg * med så jeg kan hente alle felter (jeg kender dem ikke i forvejen).
Avatar billede erikjacobsen Ekspert
19. april 2003 - 00:05 #5
;)
Avatar billede sonic_86 Nybegynder
19. april 2003 - 00:06 #6
SELECT table.*, table_".*,
Avatar billede sonic_86 Nybegynder
19. april 2003 - 00:06 #7
hov sådan :)

SELECT table1.*, table2.*,
Avatar billede erikjacobsen Ekspert
19. april 2003 - 00:07 #8
Du kan

select *,tabel1.id as id1,tabel2.id as id2

Hvad mener du med du ikke kender felterne??
Avatar billede soc127754 Nybegynder
19. april 2003 - 00:08 #9
Jo - men hvordan henter jeg så "tabel1.id"?
Avatar billede erikjacobsen Ekspert
19. april 2003 - 00:08 #10
med navnet id1 - som du selvfølgelig selv kan bestemme
Avatar billede sonic_86 Nybegynder
19. april 2003 - 00:10 #11
Her er et eks, jeg bruger til at at lave 10top over de bedst bedømt:

$result=mysql_query('SELECT scooter_models.*, scooter.*, ROUND(AVG(scooter_kommentar.vote),2) AS gennemsnit FROM scooter_kommentar,scooter,scooter_models WHERE scooter_kommentar.scooter_id=scooter.id AND scooter.model=scooter_models.model GROUP BY scooter.id ORDER BY gennemsnit DESC LIMIT 10') or die ("Fejl X: ".mysql_error());
Avatar billede soc127754 Nybegynder
19. april 2003 - 00:11 #12
-> erikjacobsen: perfekt. Så kører det! Vil du ikke oprette et svar som jeg kan acceptere.

(Jeg kender ikke felterne på forhånd, da det er til en generel funktion, der henter felter defineret i en template - kunne selvfølgeligt generere sql'en først med felterne, men vil helst undgå),
Avatar billede erikjacobsen Ekspert
19. april 2003 - 00:12 #13
Ok - fint nok. Godt med generelle ting - du er altså nødt til at
kende id-felterne. Med mindre der er en anden måde at gøre det på....

Ingen point til mig - jeg samler ikke på sådan noget.
Avatar billede morw Nybegynder
19. april 2003 - 00:14 #14
Hvis du ikke kender dine felter på forhånd lyder det som om du ikke har normaliseret din database på 3. normalform.
Avatar billede soc127754 Nybegynder
19. april 2003 - 00:16 #15
Jo - det har jeg sådan set. Pointen er blot at jeg ahr en skabelon (som skrevet ovenfor) hvor jeg har feltnavnene i. Dem henter jeg ud af skabelonen, finder dem i db'en og replacer dem igen i skabelonen. Ganske simpelt.
Avatar billede morw Nybegynder
19. april 2003 - 00:19 #16
OK - så længe det virker og giver mening for dig ;-D
Avatar billede soc127754 Nybegynder
19. april 2003 - 00:23 #17
Jo tak - og tak for hjælpen 8selvom jeg ikke kunne slippe af med pointene...)
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