SQL udvidet "NOT IN" query

Tags:    sql

<< < 123 > >>
Jeg har en opgave hvor jeg har 2 tabeller hvori der er en masse rækker som sagtens kan være dubletter.

opgaven går på dette.:

jeg har fx. 5 linjer fra table1

10001
10002
10001
10004
10005

som det ses er der i denne 1 dublet "10001" men denne skal behandles som værende unik...

i table 2 har jeg:

10001
10002
10004
10005

et resultat af en "NOT IN" kørsel vil i dette scenarie være tomt. men jeg har brug for at den viser at der rent faktisk er 1 række fra table1 som ikke er i table2 (10001)

værdien er der i table2, men den er allerede brugt 1 gang på den første "10001"

jeg gætter på at jeg på en eller anden måde skal lave en query hvor den kun bruger 1 række en gang og så går videre kronologisk...

jeg ved ikke om det overhovedet giver mening som jeg har forklaret det, ellers må i lige skrive...





22 svar postet i denne tråd vises herunder
5 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
Hvordan kan forslaget om en alternativ løsning være overflødig ?
At gøre nogen opmærksom på at man måske kigger i en forkert retning ?
Det er sådan man når frem til den rigtige istedet for en uoptimal løsning.

Jeg ved ikke med dig Brian, men hvis jeg stiller et spørgsmål herinde, og nogen opfordrer mig til at gøre noget andet end jeg selv lægger op til, så tager jeg med glæde imod alternative forslag.


Din første kommentar er: "Det lyder lidt som om, der er en fejl i designet. "

Det er jo fløjtende ligegyldigt. Det kan da godt være hans design af applikationen der generer data er forkert. Eller databasen er uhensigtsmæssigt opbygget (det er den sikkert). Men det spørgsmålet gik på var hvordan han kunne løse sit problem, her hvor han stod på nuværende tidspunkt - med de data han har. Han kan jo ikke bruge det til noget at du synes dataene burde være struktureret anderledes! Dit svar var ubrugeligt i den sammenhæng, derfor gav jeg dig minus for den kommentar. Det var ukonstruktivt og hjalp ikke nærmere mod en løsning.



Hvad får dig til at tro, at han ikke kan rette i skemaet ? Det står der da ingen steder. At der ikke står "Hvordan ændrer jeg mine data" betyder jo ikke at hans data under ingen omstændigheder må eller kan ændres.

Derfor foreslår jeg (stadig) at kigge i den retning og evt. poste lidt mere information om hvordan dataene er strikket sammen, for så kan vi sikkert komme frem til en bedre løsning end brute force.

Måske vi kan komme frem til et simpelt VIEW, som gør det hele nemmere, men det gør vi ikke ved at tage skyklapper på og kun gå efter den oprindelige løsning.

Faktisk spurte Dion oprindeligt "Hvordan ændrer jeg min query", og så foreslår du at gøre det i kode...det er jo også en alternativ løsning. Skal du have minus for det ?



Indlæg senest redigeret d. 14.10.2011 12:02 af Bruger #2695
<< < 123 > >>
t