19. august 2010 - 14:29
Der er
13 kommentarer og 1 løsning
Ligge to SELECT sammen
Hvordan skriver jeg de her to SELECT sammen, så de bliver til en. SELECT DISTINCT LinkType.UserID FROM LinkType WHERE (((LinkType.TypeID)=10) AND ((LinkType.Radio)<=3)); SELECT DISTINCT LinkType.UserID FROM LinkType WHERE (((LinkType.TypeID)=11) AND ((LinkType.Radio)<=2)); Den først giver 1,2,3,4 og anden giver 3,4,5,6 Skal de når de skrevet sammen kun give 3,4 Tak på forhånd.....
Annonceindlæg fra Infor
19. august 2010 - 14:40
#1
SELECT DISTINCT LinkType.UserID FROM LinkType WHERE (((LinkType.TypeID)=10) AND ((LinkType.Radio)<=3)); UNION SELECT DISTINCT LinkType.UserID FROM LinkType WHERE (((LinkType.TypeID)=11) AND ((LinkType.Radio)<=2));
19. august 2010 - 15:03
#2
hmmm den giver jo 1,2,3,4,5,6 som resultat? jeg skal ende med kun 3,4
19. august 2010 - 15:07
#3
Min test DB ser sådan ud.. LinkType ID UserID TypeID Radio 1 1 10 3 2 2 10 3 3 3 10 3 4 3 11 2 5 4 10 3 6 4 11 2 7 5 11 2 8 6 11 2
19. august 2010 - 15:09
#4
SELECT DISTINCT LinkType.UserID FROM LinkType WHERE (((LinkType.TypeID)=10) AND ((LinkType.Radio)<=3)) OR (((LinkType.TypeID)=11) AND ((LinkType.Radio)<=2));
19. august 2010 - 15:11
#5
Så behøver man ikke så mange paranteser, det gør det bare forvirrende: SELECT DISTINCT LinkType.UserID FROM LinkType WHERE (LinkType.TypeID=10 AND LinkType.Radio<=3) OR (LinkType.TypeID=11 AND LinkType.Radio<=2);
19. august 2010 - 15:11
#6
så du vil finde fælles mængden?
19. august 2010 - 15:13
#7
Og så skal du måske bruge AND i stedet for OR afhængigt af hvilket resultat du vil have ;o)
19. august 2010 - 15:16
#8
michael_stim > virker ikke, or giver dem alle, and giver 0 mungojerrie > ja, fælles mængden
19. august 2010 - 15:28
#9
proev: SELECT DISTINCT L1.UserID FROM LinkType L1, LinkType L2 WHERE L1.TypeID=10 AND L1.Radio<=3 AND L2.TypeID=11 AND L2.Radio<=2 AND L1.UserID=L2.UserID
19. august 2010 - 15:29
#10
hvis du benytter ms sql 2005 og derover kan du bruge keyword INTERSECT den skifter du bare med UNION som jeg skrev før
19. august 2010 - 15:31
#11
19. august 2010 - 15:41
#12
arne_v > virker! super, Så du laver bare en linktype med et (sub navn) eller hvad det hender? så den tager dem individuel, smart! smid et svar...
19. august 2010 - 15:45
#13
svar
19. august 2010 - 15:46
#14
den saakaldte self join er god naar man skal have noget der er identificeret via mere end en raekke
Computerworld tilbyder specialiserede kurser i database-management