2016-04-18 15 views
0

Also muss ich eine Abfrage schreiben, die die Stadt, durchschnittliche Preisvorstellung und die Anzahl der Eigenschaften mit der Summe für die Städte mit mehr als 100 Eigenschaften anzeigen wird. Ich habe den Code:Wie NULL-Werte angezeigt werden?

Allerdings sollten die Ergebnisse 3 Zeilen Arcata, Eureka und NULL haben. Ich bekomme nur die ersten beiden zu sehen. Wie mache ich es so mein Code zählt auch die Null-Werte?

+3

Verwenden 'links join' JOIN. –

+0

das gibt mir vier Zeilen und immer noch keine null – Hailey

+0

Ihre HAVING-Klausel ist, was Sie Probleme gibt. Was genau suchst du in deinem Resultset? Ein Nullwert, wenn die Anzahl weniger als 100 ist? Die Eingabe einiger Beispieldaten und des erwarteten Ergebnisses würde helfen. – ZLK

Antwort

0

INNER JOIN ignoriert übereinstimmende NULL-Werte. Versuchen Sie einfach das folgende Beispiel zur Überprüfung:

DECLARE @T1 TABLE 
(
    a int, 
    b int 
) 

DECLARE @T2 TABLE 
(
    a int, 
    b int 
) 

INSERT INTO @T1 (a,b) 
VALUES(1,2) 

INSERT INTO @T1 (a,b) 
VALUES(NULL,3) 

INSERT INTO @T2 (a,b) 
VALUES(1,2) 

INSERT INTO @T2 (a,b) 
VALUES(NULL,3) 

SELECT * 
FROM @T1 AS T1 
INNER JOIN @T2 AS T2 ON T1.a = T2.a 

Wenn Sie als Ergebnismenge NULL erhalten möchten, verwenden Sie die Links anstelle

DECLARE @T1 TABLE 
(
    a int, 
    b int 
) 

DECLARE @T2 TABLE 
(
    a int, 
    b int 
) 

INSERT INTO @T1 (a,b) 
VALUES(1,2) 

INSERT INTO @T1 (a,b) 
VALUES(NULL,3) 

INSERT INTO @T2 (a,b) 
VALUES(1,2) 

INSERT INTO @T2 (a,b) 
VALUES(NULL,3) 

SELECT * 
FROM @T1 AS T1 
LEFT JOIN @T2 AS T2 ON T1.a = T2.a