Avatar billede Nicolai Nybegynder
13. april 2013 - 11:35 Der er 5 kommentarer og
1 løsning

SQL query der driller...

Hej,

Jeg forsøger med følgende query at finde de SalesDoc som ikke var til stede Q1 2009 men er tilstede i Q1 2013. Men min query giver ikke et eneste hit!?

Hjææælp :)

SELECT SalesDoc
FROM dbo.tblXSAP_Revenue_Optimized
WHERE PeriodB IN ('001.2013','002.2013','003.2013') AND SalesDoc NOT IN
(SELECT SalesDoc
FROM dbo.tblXSAP_Revenue_Optimized
WHERE PeriodB IN ('001.2009','002.2009','003.2009'))
Avatar billede runesoft Nybegynder
13. april 2013 - 11:47 #1
øh Hvad er PeriodB? ligner bare et tekst felt. 

SELECT SalesDoc
FROM dbo.tblXSAP_Revenue_Optimized
WHERE PeriodB > '001.2009'
Avatar billede Nicolai Nybegynder
13. april 2013 - 12:44 #2
PeriodB er blot et tekstfelt der angiver hvilken periode rækken hører til. 001.2009 er f.eks. Januar 2009...
Avatar billede runesoft Nybegynder
13. april 2013 - 12:48 #3
Men så kan en række vel ikke tilhøre flere perioder? Jeg er ikke sikker på jeg forstår din problemstilling
Avatar billede Nicolai Nybegynder
13. april 2013 - 14:29 #4
Korrekt at hver linje kun kan være en given periode, men det samme salesdoc optræder i rigtig mange perioder. Men jeg er interesseret i at se hvilke salesdoc som er (eller ikke er) i en af perioderne 001.2009, 002.2009 eller 003.2009, men ikke er i 001.2013 osv.

Giver det bedre mening?
Avatar billede Nicolai Nybegynder
14. april 2013 - 06:56 #5
Fandt nu en løsning!

Da SalesDoc kan være "NULL" i nogle linjer, vil min oprindelige query resultere i "no hits". Forklaringen er lang hvorfor (ikke helt sikker på at jeg forstod den), men løsningen er enkel:

Tilføj "AND Sales IS NOT NULL" i begge de to WHERE clauses
Så virker querien efter hensigten ;)

Link til forklaring: http://stackoverflow.com/questions/1406215/sql-select-where-not-in-subquery-returns-no-results
Avatar billede Nicolai Nybegynder
27. maj 2013 - 18:15 #6
lukkes...
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