Fråga : Skillnaden mellan en sql-query är långt skriftlig

Kan någon förklara till mig:
1) vad skillnaden är mellan de två queriesna är långt skriftlig (higlighted i djärv text), 2) varför är den olika resultatuppsättningen och
3) vad skulle är ett effektivare långt av handstil den 1st queryen, så att äger rum körningar snabbare, det tar för närvarande över 3 noterar till run.

SELECT DISTINKT f1, f2, f3
Case, när f3='0 f3
Else f2 AVSLUTAR därefter som orig,
SUM SOM gt, lämnad
FROM dbo.vent sammanfogar gammalt på vent.id- = old.id-and vent.num = ”0 ' statliga
Where in (”A”, ”B”, ”C”,
GROUP ”för D”, ”för F”) VID f1, f2, f3
order vid f1

VS.

SELECT DISTINKT f1, f2, f3
Case, när f3='0” f3
Else f2 AVSLUTAR därefter som orig,
SUM SOM gt, lämnad
FROM dbo.vent sammanfogar gammalt på vent.id = old.id
Where som är statlig i (”A”, ”B”, ”C”, ”D”, ”F”) and vent.num = '0 '
GROUP VID f1, f2, f3
order vid f1

" klar "

Svar : Skillnaden mellan en sql-query är långt skriftlig

Precis så du kan se och ser också hur det är förutsägbart…,

Kontrollera ut den nedanföra lite testa:

1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
skapa bordlägger #vent (ID int, numerisk int, varchar kommentarer (100))
skapa bordlägger #old (ID int, varchar kommentarer (100))

det #vent mellanlägget värderar (1.0, ”visar upp på något sätt”),
det #vent mellanlägget värderar (2.1, ”visar upp, om vent=0 sammanfogar in”),
det #vent mellanlägget värderar (3.0, ”visar upp på något sätt”),
det #vent mellanlägget värderar (4.1, ”visar upp, om vent=0 sammanfogar in”),
det #vent mellanlägget värderar (5.0, ”visar upp på något sätt”),

mellanläggs#old värderar (1, ”visar upp på något sätt”),
mellanläggs#old värderar (2, ”visar aldrig”),
mellanläggs#old värderar (3, ”visar upp på något sätt”),
mellanläggs#old värderar (4, ”visar aldrig”),
GÅ
-- query1
välj *
från #vent
lämnat sammanfoga #old på #old.id = #vent.id och #vent.num = 0

-- query2
välj *
från #vent
lämnat sammanfoga #old på #old.id = #vent.id 
var #vent.num = 0
GÅ

/*
-- query 1
numeriska   kommentarer  för ID
1    0    visar att upp på något sätt               1    visar upp på något sätt
2    1    visar upp, om vent=0 sammanfogar in    OGILTIGT OGILTIGT                 -- notera hur sammanfogaen inte visar några #oldkolonner, därför att sammanfoga endast om numerisk = 0
3    0    visar att upp på något sätt               3    visar upp på något sätt
4    1    visar upp, om vent=0 sammanfogar in    OGILTIGT OGILTIGT                 -- notera hur sammanfogaen inte visar några #oldkolonner, därför att sammanfoga endast om numerisk = 0
5    0    visar upp på något sätt               OGILTIGT OGILTIGT                 -- det finns inte ID = 5 i #old

-- query 2
numeriska   kommentarer  för ID
1    0    visar att upp på något sätt               1    visar upp på något sätt
3    0    visar att upp på något sätt               3    visar upp på något sätt
5    0    visar upp på något sätt               OGILTIGT OGILTIGT

*
Andra lösningar  
 
programming4us programming4us