|
| 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
| |
|
|