02. maj 2009 - 00:01Der er
7 kommentarer og 1 løsning
Udskrive data fra 2 forskellige tabeller? (MYSQL)
Godaften allesammen og håber i har en god 1. Maj, og ikke sidde og tumler PHP som jeg gør.
Ser i, jeg har nogle data fra 2 forskellige tabeller som jeg gerne vil have til at blive skrevet ud som var de i én.
Rent hypotetisk Forestil jer vi har en tabel der hedder "mænd" og en der hedder "kvinder". Hvis jeg vil udskrive alle mænd sorteret efter "dato" som er en datetime så er det jo lige til.
Men hvad gør jeg hvis jeg gerne vil have udskrevet både mænd og kvinder efter dato på én gang?
Lad os sige vi har:
Mænd navn - dato ------------ John - idag Morten - igår Anders - i forgårs
Kvinder navn - dato ------------ Lise - idag Anne - igår Camilla - i forgårs
Hvordan får jeg den til at udskrive det således: John - idag Lise - idag Morten - igår Anne - igår Anders - i forgårs Camilla - i forgårs
Håber i forstår hvad jeg mener og på forhånd mange tak :)
Jeg ved det, og det eksempel jeg giver ville også være fuldstændig dumt at lave - og det er heller ikke tilfældet. Men landet ligger sådan at jeg bygger på et system som har flere forskellige profiler. Forestil dig et bilmarked hvor man kan oprette sig som både forhandler og privat. Og da forhandler skal have mange flere informationer så adskiller man det i 2 forskellige tabeller for ikke at efterlade en masse tomt.
Og det er her jeg står nu. Jeg har 2 tabeller med forskellige informationer som har en masse tilfældes som titel, billede osv. som jeg skal have flettet sammen.
Det er et system som allerede er færdigt og kører, men jeg skal udskrive denne liste og det er her problemet er. Kan huske en af mine gamle kollegaer fik lavet sådan en "mysql fletning" da han skulle udarbejde noget rod for en anden programmør på et projekt - Også her hvor jeg står.
Der er flere måder - men du har tilsyneladende noget fælles information for forhandler og privat. Du kan putte det i en fælles tabel, med markering om det er forhandler eller privat. De specifikke ting for en forhandler kan så ligge i en anden tabel, og de specifikke ting for en privat i en tredie tabel.
Men der er andre muligheder. En UNION som acore foreslår er een af dem.
Jeg kan ikke rådgive dig hvad der er bedst, ud fra de givne oplysninger.
Jeg har lavet en UNION som virker perfekt - puha - det længste MYSQL kald jeg har lavet, da der også er 3 LEFT JOIN i hver.
Nu udskriver de det hele, men ikke sorteret efter dato, men det ene først, og så det andet bagefter. Har i nogle idéer til hvordan jeg mikser datoerne sammen?
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.