Sorter en tabel efter anden tabels felt

Tags:    databaser

Hej

Jeg har i noget tid tænkt over hvordan man kan sortere en tabel i mysql vha PHP efter en relateret tabels felter.

Eksempel:

Fold kodeboks ind/udKode 


Denne kører jeg så en while sætning på for at få vist listen med projekter. Kundenavnet går jeg så ind i en anden tabel (kunder) og henter via kundenummeret.

Fold kodeboks ind/udKode 


Mit spørgsmål er så hvordan jeg sorterer mine projekter efter kundenavn når nu navnet ligger i tabellen "kunder".

Jeg håber virkelig på hjælp :)



6 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Prøv med følgende SQL sætning

Fold kodeboks ind/udSQL kode 


Det er ikke testet. Du skal måske ændre lidt i sql-sætningen hvis felterne ikke passer med navnene.

Jeg bruger LEFT JOIN til at kæde de 2 tabler sammen så det ser ud som 1 tabel.


Nu gør jeg ikke så meget i left join, men hvorfor bruge like, det er vel vigtigt at kunde id er ens i begge tabel og ikke kun ligner hinanden.

Fold kodeboks ind/udSQL kode 


alternativ kunne bruges

Fold kodeboks ind/udSQL kode 






Indlæg senest redigeret d. 29.08.2008 21:35 af Bruger #65
Tvivler for når man normalt bruger like, er det fordi man vil finde noget der ligner, og ikke noget der ens, har svært ved at forstille mig det skulle være anderledes i en left join.

Man bruger 'LIKE' når man vil benytte sig af wildcarts (%), ellers betyder det, det samme!



Indlæg senest redigeret d. 29.08.2008 23:22 af Bruger #11328
Prøv med følgende SQL sætning

Fold kodeboks ind/udSQL kode 


Det er ikke testet. Du skal måske ændre lidt i sql-sætningen hvis felterne ikke passer med navnene.

Jeg bruger LEFT JOIN til at kæde de 2 tabler sammen så det ser ud som 1 tabel.



Indlæg senest redigeret d. 29.08.2008 17:11 af Bruger #6559
'LIKE' er det samme som '='.



Tvivler for når man normalt bruger like, er det fordi man vil finde noget der ligner, og ikke noget der ens, har svært ved at forstille mig det skulle være anderledes i en left join.



Like betyder ligner, og at bruge det anderledes synes jeg er slam kode.

Og hvad hvis et af kundeid'erne indeholder et wildcard?



t