Avatar billede martin181 Nybegynder
28. juni 2001 - 12:31 Der er 14 kommentarer og
1 løsning

Undgå dubletter i databaseudtræk?

Hejsa!

Jeg har følgende streng, som jeg bruger til at trække oplysninger fra en access db med:

\"SELECT * FROM Support ORDER BY DNKundenr\"

Men den trækker bare alt ud - også hvis jeg har to poster med samme DNKundenr - er der ikke en måde hvorpå jeg kan sikre mig at jeg kun får hver enkelt fra dette felt med 1 gang?
Avatar billede martin181 Nybegynder
28. juni 2001 - 12:32 #1
Nu kan mans selvfølgelig spørge hvorfor man har samme DNKundenr flere steder, det er fordi det er en supportdatabse hvor kundenr bliver registreret hvergang de ringer ind, jeg skal kun bruge det en gang, da det skal give mig en liste over hvilke kunder der har fået hjælp
Avatar billede kornfreak Nybegynder
28. juni 2001 - 12:33 #2
select distinct(DnKundenr) from support
Avatar billede sone Nybegynder
28. juni 2001 - 12:33 #3
SELECT DISTINCT * FROM...

Så er der ikke 2 ens rækker.
Avatar billede keysersoze Guru
28. juni 2001 - 12:40 #4
nu ved jeg godt at distinct er en mulighed, men jeg må nok sige, at det er nogle dårlige database-mænd du har... for det er imod alle regler for opbygning af databaser at man kommer ud for det problem du har...
Avatar billede kornfreak Nybegynder
28. juni 2001 - 12:42 #5
Enig..
Avatar billede martin181 Nybegynder
28. juni 2001 - 12:44 #6
Jep - men det er en gl. db som min chef har lavet - jeg skal bare arbejde med den - men jeg vil prøve med distinct..
Avatar billede nuno Nybegynder
28. juni 2001 - 12:46 #7
keysersoze - næh det er det da ikke. Kundenr. er bare fremmednøglen i Support tabellen - det er jo ikke kundetabellen han trækker oplysninger ud fra. Men en supporttabel, der registrerer et kundenr. hver gang der er blevet ydet support til den enkelte kunde.

jeg kunne forestille mig et design af Supporttabellen som kunne se således ud:

AutoSupportId (unikt) - DNKundenr (fremmednøgle til Kundetabellen) - [x-antal yderligere kolonner]



/nuno
Avatar billede martin181 Nybegynder
28. juni 2001 - 12:48 #8
Jeg fik det til at virke med ideen fra kornfreak:

select distinct(DnKundenr) from support

Den fra sone:

SELECT DISTINCT * FROM...

Virkede ikke (ja, jeg skrev andet end...)

Men kornfreak har jo ikke svaret...
Avatar billede keysersoze Guru
28. juni 2001 - 12:50 #9
nuno >> men er vi over og have to tabeller på den måde, er det jo mere noget hen af joins der skal gang i...
Avatar billede nuno Nybegynder
28. juni 2001 - 13:14 #10
keysersoze> men du vil da altid skulle have en reference til Kundetabellen vha. en fremmednøgle i den tabel du opretter de enkelte instances i.... altså i Support i det her tilfælde.

Hvis han skal trække deciderede kundeoplysninger ud - så skal de naturligvis kun indgå i kundetabellen een gang - og så er det et spsm om joins ja - men ikke på den måde han gør det her.

/nuno
Avatar billede vejbump Nybegynder
28. juni 2001 - 16:58 #11
Hvis din tabel hedder Support og din celle hedder DNKundenr, så skal din SQL se sådan ud...
--------------------------------------------------
strPRO = \"Select DNKundenr From Support GROUP BY DNKundenr\"
--------------------------------------------------
/Vejbump
Avatar billede vejbump Nybegynder
28. juni 2001 - 17:04 #12
Hvis du vil udvide det lidt kan du jo bruge denne DO sætning.
--------------------------------------------------
<%
Do
    Response.Write \"<tr>\"
    Response.Write \"<td><small><small><font face=\'Verdana\'>\"
  \' DNKundenr
  strDK = rs(\"DNKundenr\")

  \' lav et link til din ASP side med Id-værdien i URL
  strLink = \"<a href=\'side.asp?vis=\" & rs(\"DNKundenr\") & \"\'>\" & strDK & \"</a>\"

  \' udskriv linket til Kundenr og vis på siden
  Response.Write \"[\" & strLink & \"]\"
  Response.Write \"</font></small></small></td>\"
  Response.Write \"</tr>\"
 
  rs.MoveNext
Loop While not rs.EOF
%>
--------------------------------------------------
/Vejbump
Avatar billede martin181 Nybegynder
29. juni 2001 - 07:58 #13
ok - det lader ikke til at kornfreak vil oprette et svar så pointene går til sone.
Avatar billede sone Nybegynder
29. juni 2001 - 09:22 #14
tak\'sa
Avatar billede martin181 Nybegynder
29. juni 2001 - 09:23 #15
Det var så lidt
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



IT-JOB

Cognizant Technology Solutions Denmark ApS

Test Manager

SporingsGruppen ApS

Backend-udvikler

Arbejdernes Landsbank

Salesforce Marketing Cloud tech lead

Acrelec Danmark

IT-supporter

PensionDanmark

ML Engineer