|
| MySQL, avanceret distinct? (i hvert fald f~ Fra : Niels Andersen |
Dato : 06-07-01 20:34 |
|
Jeg har en tabel hvor nøglen er en streng. Faktisk er det to (i fremtiden
måske flere) ord, sammensat med en underscore (_), fx. sådan her:
"key1_key2".
Det fungerer ganske glimrende, men det er vist lidt uheldigt
database-design. Jeg har nu i hvert fald det problem, at jeg skal have en
liste over første del. Altså, hvis man fjerner alt fra og med første
underscore, og så skal jeg have en liste uden dubletter. Kan det overhovedet
lade sig gøre?
--
Mvh.
Niels Andersen
| |
Jonas Delfs (07-07-2001)
| Kommentar Fra : Jonas Delfs |
Dato : 07-07-01 15:08 |
|
"Niels Andersen" <niels-usenet@myplace.dk> skrev i en meddelelse
news:lpo17.5032$c63.500836@news000.worldonline.dk...
> Jeg har en tabel hvor nøglen er en streng. Faktisk er det to (i fremtiden
> måske flere) ord, sammensat med en underscore (_), fx. sådan her:
> "key1_key2".
> Det fungerer ganske glimrende, men det er vist lidt uheldigt
> database-design. Jeg har nu i hvert fald det problem, at jeg skal have en
> liste over første del.
Pseudokode:
SELECT DISTINCT SUBSTRING(feltnavn, LOCATE('_', feltnavn), LOCATE('_',
feltnavn, LOCATE('_', feltnavn))) AS key1 FROM tabel
Måske?
--
Mvh. Jonas Delfs, http://delfs.dk
e72bd3e51a7937c87d28b85d677a97b2
| |
Niels Andersen (08-07-2001)
| Kommentar Fra : Niels Andersen |
Dato : 08-07-01 09:09 |
|
"Jonas Delfs" <jonas@nospam.delfs.dk> wrote in message
news:9i74tk$5qc$1@sunsite.dk...
> > Jeg har en tabel hvor nøglen er en streng. Faktisk er det to (i
fremtiden
> > måske flere) ord, sammensat med en underscore (_), fx. sådan her:
> > "key1_key2".
> > Det fungerer ganske glimrende, men det er vist lidt uheldigt
> > database-design. Jeg har nu i hvert fald det problem, at jeg skal have
en
> > liste over første del.
> Pseudokode:
> SELECT DISTINCT SUBSTRING(feltnavn, LOCATE('_', feltnavn), LOCATE('_',
> feltnavn, LOCATE('_', feltnavn))) AS key1 FROM tabel
Jeg skal snart have læst den manual igennem, der er vist meget guf... :)
Men tak for inspirationen, dette bliver vist løsningen:
SELECT DISTINCT SUBSTRING_INDEX(felt, '_', 1) AS key1 FROM tabel;
--
Mvh.
Niels Andersen
| |
|
|