12. august 2004 - 13:28Der er
8 kommentarer og 1 løsning
Kan man lave en DISTINCT og Join i samme query?
Hej
Jeg kun godt tænke mig at høre om man kan kombinere en DISTINCT og JOIN query i samme query da jeg har en kalender hvor den viser navnet på en bruger, fra en tabel, og nogle tal fra en anden taebl, fra den 3 tabel skal den hente årstallet, som kun skal vises en gang.
Jeg har prøvet noget i denne retning men kan ikke få det til at virke:
SELECT DISTINCT hotel_location FROM hotels
$kon = mysql_query("SELECT DISTINCT aars_tal FROM aar WHERE aar.aar_id = Kalender.aar_id AND Kalender.*,users.* FROM Kalender INNER JOIN users ON (Kalender.user_id = users.user_id)"); ?> <?php while ($month = mysql_fetch_array($kon)){
Det virker fint, på nær at den viser årstallet 2 gange hvor jeg gerne vil have den til at vise årstallet kun en gang men resten af dataerne skal den vise som en alm. while udskrivning:
Nogenlunde således: år 2005 malene 0-0-0-0-0-0-1-0-0-0-0-0 lis 0-0-0-0-0-0-0-0-1-0-0-0
I øjeblikket skriver den således
år 2005 malene 0-0-0-0-0-0-1-0-0-0-0-0 år 2005 lis 0-0-0-0-0-0-0-0-1-0-0-0
En SELECT returnerer altid en matrix af data. Alle rækker har samme antal felter.
Det du vil have er:
1 række med 1 felt med årstal N rækker med X felter med diverse info 1 række med 1 felt med årstal N rækker med X felter med diverse info
og det kan du ikke i SQL, men det er nemt at simulere via lidt kode i ens applikation (PHP side eller andet).
DISTINCT gør kun at den ikke returnerer duplikat rækker.
Synes godt om
Ny brugerNybegynder
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.