Ik zit nu al drie nachten te sparren met een SQL Query die ik wil gebruiken voor een project dat ik heb. Volgens mij is hij redelijk simpel, maar ik zie het gewoon niet meer na al het puzzelen.
Wat ik heb is een tabel met daarin de volgende waarden:
Hierin is RelationType een referentie naar Type en andersom.
Ik wil graag de duplicaten filteren zodat ik het volgende overhoud:
Ik ben zo ver gekomen dat ik volgende query heb:
bovenstaande geeft, op ID na, het volgende weer:
ik krijg het dus niet voor elkaar om de overige Devices ook te laten zien, degene waarbij geen relatie is.
Volgens mij mis ik een Left Outer Join ergens. wie zou mij weer op gang kunnen helpen?
alvast bedankt!
Wat ik heb is een tabel met daarin de volgende waarden:
Hierin is RelationType een referentie naar Type en andersom.
Device | Type | RelationType |
1 | A | C |
1 | B | |
1 | C | A |
1 | D | |
2 | E | |
4 | F | H |
4 | G | |
4 | H | F |
Ik wil graag de duplicaten filteren zodat ik het volgende overhoud:
Device | Type | RelationType |
1 | A | C |
1 | B | |
1 | D | |
2 | E | |
4 | F | H |
4 | G |
Ik ben zo ver gekomen dat ik volgende query heb:
SQL:
1
2
3
4
5
| SELECT row_number() over(order by e.Device) AS 'ID', t.Device, t.Type, r.RelationType FROM TabelNaam t JOIN TabelNaam r ON t.Type < r.RelationType WHERE t.Type=r.Type |
bovenstaande geeft, op ID na, het volgende weer:
Device | Type | RelationType |
1 | A | C |
4 | F | H |
ik krijg het dus niet voor elkaar om de overige Devices ook te laten zien, degene waarbij geen relatie is.
Volgens mij mis ik een Left Outer Join ergens. wie zou mij weer op gang kunnen helpen?
alvast bedankt!
[ Voor 7% gewijzigd door stavast op 05-10-2011 03:07 ]