/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
Problem med en forespørgsel (resulatet kom~
Fra : Allan Schuster Bach


Dato : 03-10-03 08:17

Jeg har to tabeller

Kontaktpersoner:
ID (autofelt)
Virkid(int)
Kontaktnavn (Vrchar)
Titel (int)

Title:
Titleid (Int)
Titlenavn (varchar)


Hele ideen var så, at lave et udtræk af alle kontaktpersoner fra en
virksomhed, finde deres title fra tabellen *title*. Resultatet er som
forventet, men kommer 2 gange (hvad har jeg overset eller gjort forkert)?

SELECT TB_Kontakperson.IDKontakt, TB_Kontakperson.Virkid,
TB_Kontakperson.Kontaktnavn, TB_Kontakperson.titel, TB_Kontakperson.telefon,
TB_Kontakperson.mobiltelefon, TB_Kontakperson.email,
TB_Kontakperson.note, TB_Kontakperson.lokal, TB_Titel.Titelnavn
FROM TB_Kontakperson INNER JOIN
TB_Titel ON TB_Kontakperson.titel = TB_Titel.TitelID
WHERE (TB_Kontakperson.Virkid = '8')
ORDER BY TB_Kontakperson.Kontaktnavn

Bach

Køre på en MSSQL server



 
 
Kristian Damm Jensen (03-10-2003)
Kommentar
Fra : Kristian Damm Jensen


Dato : 03-10-03 09:19

"Allan Schuster Bach" <newskonto@schuster.dk> skrev i en meddelelse
news:blj7oj$2elm$1@news.cybercity.dk...
> Jeg har to tabeller
>
> Kontaktpersoner:
> ID (autofelt)
> Virkid(int)
> Kontaktnavn (Vrchar)
> Titel (int)
>
> Title:
> Titleid (Int)
> Titlenavn (varchar)
>
>
> Hele ideen var så, at lave et udtræk af alle kontaktpersoner fra en
> virksomhed, finde deres title fra tabellen *title*. Resultatet er som
> forventet, men kommer 2 gange (hvad har jeg overset eller gjort forkert)?
>
> SELECT TB_Kontakperson.IDKontakt, TB_Kontakperson.Virkid,
> TB_Kontakperson.Kontaktnavn, TB_Kontakperson.titel,
TB_Kontakperson.telefon,
> TB_Kontakperson.mobiltelefon, TB_Kontakperson.email,
> TB_Kontakperson.note, TB_Kontakperson.lokal, TB_Titel.Titelnavn
> FROM TB_Kontakperson INNER JOIN
> TB_Titel ON TB_Kontakperson.titel = TB_Titel.TitelID
> WHERE (TB_Kontakperson.Virkid = '8')
> ORDER BY TB_Kontakperson.Kontaktnavn

Hvis du med to gange mener at du får to helt identiske rækker ud, kan jeg
kun se at det må skyldes at du har dubletter i din database i en af de to
tabeller.

Du kan enten fjerne dem fra databasen (det ville nok under alle
omstændigheder være det klogeste), eller fra resultatet af din select ved at
bruge "select distinct"

--
Kristian Damm Jensen
damm (at) ofir (dot) dk



Allan Schuster Bach (03-10-2003)
Kommentar
Fra : Allan Schuster Bach


Dato : 03-10-03 13:51

> Hvis du med to gange mener at du får to helt identiske rækker ud, kan jeg
> kun se at det må skyldes at du har dubletter i din database i en af de to
> tabeller.

Jep, det var det hurtige svar, men det er ikke tilfældet. Og det er det der
under mig. Lige nu er der kun 5 poster i tabellen, og i følge mit SQL skulle
jeg have3 ud. Men jeg få altså 6

> Du kan enten fjerne dem fra databasen (det ville nok under alle
> omstændigheder være det klogeste), eller fra resultatet af din select ved
at
> bruge "select distinct"

En mulighed var selvfølgelig at bruge distinct, men det går nok heller ikke,
for følgende fejl kommer så

Server: Msg 8163, Level 16, State 3, Line 1
The text, ntext, or image data type cannot be selected as DISTINCT.

Må lige diskutere om nogen af felttyper kan rettte til noget andet, men de
løser ikke mit grundlæggende problem

Bach



Kristian Damm Jensen (06-10-2003)
Kommentar
Fra : Kristian Damm Jensen


Dato : 06-10-03 09:26

"Allan Schuster Bach" <newskonto@schuster.dk> skrev i en meddelelse
news:bljrb8$atq$1@news.cybercity.dk...
> > Hvis du med to gange mener at du får to helt identiske rækker ud, kan
jeg
> > kun se at det må skyldes at du har dubletter i din database i en af de
to
> > tabeller.
>
> Jep, det var det hurtige svar, men det er ikke tilfældet. Og det er det
der
> under mig. Lige nu er der kun 5 poster i tabellen, og i følge mit SQL
skulle
> jeg have3 ud. Men jeg få altså 6
>
> > Du kan enten fjerne dem fra databasen (det ville nok under alle
> > omstændigheder være det klogeste), eller fra resultatet af din select
ved
> at
> > bruge "select distinct"
>
> En mulighed var selvfølgelig at bruge distinct, men det går nok heller
ikke,
> for følgende fejl kommer så
>
> Server: Msg 8163, Level 16, State 3, Line 1
> The text, ntext, or image data type cannot be selected as DISTINCT.
>
> Må lige diskutere om nogen af felttyper kan rettte til noget andet, men de
> løser ikke mit grundlæggende problem

Post dine tabeldefinitioner (SQL, ikke en florumvundet sproglig beskrivelse)
og dine data, så kan det være, vi kan se, hvad der går galt.

--
Kristian Damm Jensen
damm (at) ofir (dot) dk



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408521
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste