Gå til innhold

Anbefalte innlegg

Videoannonse
Annonse
Gjest Slettet-rXRozPkg

Kan det være så enkelt som dette tro?:

SELECT product_id FROM Tabell1, Tabell2 WHERE NOT Tabell1.product_id = Tabell2.product_id;

Endret av Slettet-rXRozPkg
Lenke til kommentar

SELECT product_id

FROM Tabell1, Tabell2

WHERE NOT EXISTS(

SELECT 1.product_id, 2.product_id

FROM Tabell1 AS 1, Tabell2 AS 2

WHERE 1.product_id = 2.product_id

);

 

 

Edit:

 

ehh.....

 

SELECT 1.product_id, 2.product_id

FROM Tabell1 AS 1, Tabell2 AS 2

WHERE 1.product_id <> 2.product_id;

 

 

litt enklere..... og mysql støtter vel ikke subqueries så bra heller

 

(Har ikke testet, men mener det funker)

Endret av mikaelandre
Lenke til kommentar

Slik jeg ser det vil det være mest fordelaktig å hente ut to resultatsett, og så prosessere disse i applikasjonslaget. Det går også an å hacke til noe med subqueries, men dette vil sannsynligvis bli en stygg og lite oversiktelig løsning.Synes dog det virker veldig besynderlig at du har behov for noe slikt, kan det være en idé å ta en gjennomgang av database-designet og se om det er noe der som kan forbedres?

Lenke til kommentar

Veldig enkelt.

 

1. Hent alle data fra Tabell1 hvor product_id ikke finnes i Tabell2.

2. Hent alle data fra Tabell2 hvor product_id ikke finnes i Tabell1.

3. Lag en union SQL mellom disse.

 

SELECT     dbo.Table1.product_id
FROM         dbo.Table1 LEFT OUTER JOIN
                     dbo.Table2 ON dbo.Table1.product_id = dbo.Table2.product_id
WHERE     (dbo.Table2.product_id IS NULL)
UNION
SELECT     dbo.Table2.product_id
FROM         dbo.Table1 RIGHT OUTER JOIN
                     dbo.Table2 ON dbo.Table1.product_id = dbo.Table2.product_id
WHERE     (dbo.Table1.product_id IS NULL)

 

Til Oracel:

Det er ikke lurt å gjøre dette clientside ved å bruke cursors slik du foreslår. Hvis det er snakk om store mengder data så vil det ta betydelig lengre tid enn ved å la SQL serveren gjøre spørringen. Cursors er SIRUP i forhold til SQL spørringer.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...