22. januar 2006 - 19:19Der er
18 kommentarer og 1 løsning
SELECT problem
Jeg har følgende SQL sætning.
SELECT navn, ID, klasse FROM karakter WHERE ID IN (SELECT karID FROM keys WHERE aq='Ja') ORDER BY navn ASC
Mit problem er, at i den kolonne der hedder navn, får jeg flere navne som er ens. - Jeg vil gerne have at den kun returnere unikke navne, men skal stadigvæk returnere id og klasse.
Jeg har prøvet med en SELECT DISTINCT navn, id, klasse.. men der kommer de samme oplysninger som der gjorde, hvis jeg ikke brugte DISTINCT.
Jeg håber I kan hjælpe mig med at få løst mit lille problem.
Sure... www.crashsite.dk >> Søg >> vælg en eller anden og klik søg.
Pt. bruger jeg ASP : VBScript : If InStr(str1, rs("navn")) = 0 Then Men dette er ikke en hålbar løsning, da det vil konflikte med eks. Morgo Vs. Morgonia
ID bliver egentligt ikke brugt til noget (ved ikke helt hvorfor den bliver hævet ud! - kan være den har været brugt tidligere). Den fulde SQL sætning ser således ud: SELECT navn, ID, race, klasse, lvl, ejer FROM karakter WHERE ID IN (SELECT karID FROM keys WHERE ony='Ja') ORDER BY navn ASC Men da ID ikke skal bruges er det kun navn, race, klasse, lvl & ejer som er af interesse.
Tabellen ser således ud: karakter = {ID, navn, race, klasse, lvl, ejer }. ID = long(4) - Auto increment - Primary Key navn = text(50) - nullable race = text(50) - nullable klasse = text(50) - nullable lvl = long(4) - nullable ejer = text(50) - nullable
(Det er ikke mig, som har lavet databasen i sin tid, men jeg er en af de personer, som benytter den pt.)
The data is what is in the table. If you want to see DISTINCT navn then which ID and klasse do you want to see for each of the DISTINCT navn? Each navn has a different ID and maybe also a different klasse. So the only way you can see DISTINCT navn is by only select DISTINCT navn.
ID navn klasse 1 Peter 1 2 John 1 3 Dorte 2 4 Peter 2 5 John 1
If I select DISTINCT ID, navn, klasse it will return ID navn klasse 1 Peter 1 2 John 1 3 Dorte 2 4 Peter 2 5 John 1
SELECT First(tblnavn.ID) AS FirstOfID, tblnavn.navn, First(tblnavn.klasse) AS FirstOfklasse FROM tblnavn GROUP BY tblnavn.navn ORDER BY First(tblnavn.ID);
What do you mean "hvor navnet ikke er blevet hentet tidligere"?
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.