मैं अपने SQL सर्वर डेटाबेस से डेटा से एक ग्राफ बनाने की कोशिश करूँगा। मेरे पास उन उपयोगकर्ताओं की गिनती वाली सभी सड़कें होंगी जो इस गली में रह रहे हैं यहां तक कि गिनती शून्य है।
इसके लिए मैंने यह क्वेरी आज़माई है:
Create table Streets(
ID int IDENTITY primary key,
Name varchar(100)
);
create table users(
ID int IDENTITY primary key,
Username varchar(100),
StreetID int references Streets(id)
);
insert into streets values ('1st street'), ('2nd street'), ('3rd street'),
('4th street'), ('5th street');
insert into users values ('Pol', 1), ('Doortje', 1), ('Marc', 2), ('Bieke', 2),
('Paulien', 2), ('Fernand', 2), ('Pascal', 2), ('Boma', 3),
('Goedele', 3), ('Xavier', 4);
select s.name as street, count(s.name) as count
from users u inner join streets s on u.streetid = s.id
group by s.name
और यह मुझे यह आउटपुट देता है:
| | street | count |
| - | ---------- | ----- |
| 1 | 1st street | 2 |
| 2 | 2nd street | 5 |
| 3 | 3rd street | 2 |
| 4 | 4th street | 1 |
समस्या यह है कि 5 वीं सड़क, जहां कोई उपयोगकर्ता नहीं रहता है, परिणाम पर दिखाई नहीं देता है। क्या मैं SQL सर्वर के साथ ऐसा कर सकता हूं? यहाँ आपको एक फील मिला है
अद्यतन: यदि मैं करता हूं right join
, तो मुझे यह परिणाम मिला है:
| | street | count |
| - | ---------- | ----- |
| 1 | 1st street | 2 |
| 2 | 2nd street | 5 |
| 3 | 3rd street | 2 |
| 4 | 4th street | 1 |
| 5 | 5th street | 1 |
right join
और right outer join
वही चीजें हैं। मैंने अपने उत्तर में एक स्पष्टीकरण जोड़ा है जैसा कि @ jpmc26 द्वारा सुझाया गया है।
COUNT(u.streetid)