Avatar billede Slettet bruger
19. marts 2002 - 23:53 Der er 24 kommentarer og
1 løsning

SQL KALD MED INNER JOIN

jeg har dette SQL kald

SELECT P.id, P.varenavn, P.varebeskrivelse, p.pris, p.stregkode, p.volume, p.katid, p.Uniqueid FROM produkter AS p INNER JOIN DEMO.DBO.PRODUKTER AS S ON S.uniqueid <> P.uniqueid

men alle poster der kommer fremkommer over 500 gange hver.

Jeg skal sammenligne 20 databaser.
Jeg skal hente alle de poster der er i produkter som ikke er i DEMO.DBO.PRODUKTER baseret på UniqueID
Avatar billede Slettet bruger
19. marts 2002 - 23:54 #1
ikke 20 databaser men 2
Avatar billede disky Nybegynder
19. marts 2002 - 23:57 #2
prøv med

SELECT P.id, P.varenavn, P.varebeskrivelse, p.pris, p.stregkode, p.volume, p.katid, p.Uniqueid, S.PRODUKTER FROM produkter AS p, DEMO.DBO.PRODUKTER as S where S.uniqueid <> P.uniqueid
Avatar billede Slettet bruger
20. marts 2002 - 00:01 #3
sammen problem
Avatar billede Slettet bruger
20. marts 2002 - 00:01 #4
du skriver S.PRODUKTER et sted i kaldet hvad er det, er det en fejl
Avatar billede disky Nybegynder
20. marts 2002 - 00:01 #5
hmmm, svært at teste uden adgang til basen, men prøv at smid en group by på

SELECT P.id, P.varenavn, P.varebeskrivelse, p.pris, p.stregkode, p.volume, p.katid, p.Uniqueid, S.PRODUKTER FROM produkter AS p, DEMO.DBO.PRODUKTER as S where S.uniqueid <> P.uniqueid group by S.uniqueid

eller p.uniqueid
Avatar billede disky Nybegynder
20. marts 2002 - 00:02 #6
nej det er en 'as S' ligesom din 'as p'
Avatar billede Slettet bruger
20. marts 2002 - 00:04 #7
Det er lige som om den tager den første post i DEMO.DBO.PRODUKTER og henter alle poster der ikke er i PRODUKTER
og dernæst næste post og henter alle poster der ikke er i PRODUKTER, og så næste post.............
Avatar billede Slettet bruger
20. marts 2002 - 00:05 #8
jeg tror ikke S.PRODUKTER skal med dette felt eksistere ikke og jeg skal ikke have skrevet nogle poster fra DEMO.DBO.PRODUKTER
Avatar billede disky Nybegynder
20. marts 2002 - 00:05 #9
hjalp det ikke med en group by ?

Ellers prøv med en left join isteder for din inner join. (er dog et vildt gæt)
Avatar billede disky Nybegynder
20. marts 2002 - 00:07 #10
undskyld så misforstod jeg dig :)

SELECT P.id, P.varenavn, P.varebeskrivelse, p.pris, p.stregkode, p.volume, p.katid, p.Uniqueid, FROM produkter AS p, DEMO.DBO.PRODUKTER where S.uniqueid <> P.uniqueid group by S.uniqueid group by S.uniqueid
Avatar billede erikjacobsen Ekspert
20. marts 2002 - 00:10 #11
ja, en left join er sagen

select ...whatever... from ..tabel1.. left join ...tabel2... on tabel1.id=tabel2.id where isnull(tabel2.id)

bare en skitse. Den kan I selv fylde ud.
Avatar billede Slettet bruger
20. marts 2002 - 00:12 #12
erikjacobsen, henter den så ikke dem der er ens???????????
jeg skal have alle poster fra den ene som ikke er i den anden
Avatar billede erikjacobsen Ekspert
20. marts 2002 - 00:13 #13
prøv det nu bare
Avatar billede erikjacobsen Ekspert
20. marts 2002 - 00:15 #14
Noget i retning af

SELECT P.id, P.varenavn, P.varebeskrivelse, p.pris, p.stregkode, p.volume, p.katid, p.Uniqueid
FROM produkter AS p left JOIN DEMO.DBO.PRODUKTER AS S ON S.uniqueid =  P.uniqueid where isnull(P.uniqueid)

eller også skal der byttes om på p og s
Avatar billede Slettet bruger
20. marts 2002 - 00:15 #15
jeg for fejl i den erik
The isnull function requires 2 arguments.
Avatar billede erikjacobsen Ekspert
20. marts 2002 - 00:17 #16
Det gør jeg nu ikke. Jeg tillod mig lige at prøve

select dat.id from dat left join dat2 on dat.id=dat2.id where isnull(dat2.id)

og den virker fint. Hvilken version af mysql bruger du?
Avatar billede Slettet bruger
20. marts 2002 - 00:21 #17
jeg tester min sql i Querry Analyser og der står version sql 8.00.194
Avatar billede erikjacobsen Ekspert
20. marts 2002 - 00:22 #18
Det har vist ikke noget med MySql at gøre. Det kan jeg ikke hjælpe dig med.
(vink: du skal bruge noget med subselects)
Avatar billede Slettet bruger
20. marts 2002 - 00:24 #19
Det er SQL kald jeg skal bruge til ASP sider
Avatar billede erikjacobsen Ekspert
20. marts 2002 - 00:25 #20
Men det er ikke MySql - vel?
Avatar billede Slettet bruger
20. marts 2002 - 00:33 #21
jeg fik det til at virke med

SELECT P.varenavn, P.varebeskrivelse, p.pris, p.stregkode, p.volume, p.katid, p.Uniqueid FROM produkter AS p Left JOIN DEMO.DBO.PRODUKTER AS S ON P.uniqueid = S.uniqueid where S.uniqueid is null

Så erikjacobsen det var ikke helt ved siden af, jeg syndes du skal have point
Avatar billede Slettet bruger
20. marts 2002 - 00:34 #22
om det er MySql eller Sql det ved jeg faktisk ikke
Avatar billede erikjacobsen Ekspert
20. marts 2002 - 00:39 #23
Mon ikke du har fingrene i et produkt fra Microsoft  ... :)
Avatar billede Slettet bruger
20. marts 2002 - 00:45 #24
:) det er et terminal vindue jeg arbejder fra det er ikke min server så jeg ved ikke så meget om installationerne, vil du ikke have point, for eller syndes jeg at disky skal have point
Avatar billede disky Nybegynder
20. marts 2002 - 07:26 #25
:-) tak for det
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
Computerworld tilbyder specialiserede kurser i database-management

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