Thomas stand ja kürzlich vor dem Problem, eine CTE hierarchisch korrekt ausgeben zu wollen, was ihn zu Niels Berglund führte (Sorting Hierarchical CTE's).
Allerdings blieb ein Problem: Die Daten sind nun zwar hierarchisch sortiert - nicht jedoch alphabetisch innerhalb der Hierarchie.
Heute stand ich schließlich vor dem gleichen Problem - und ich glaube, ich habe eine Lösung gefunden ;-)
Ausgehend von einer Tabelle Kategorien, welche die Felder Name (nvarchar), ID (uniqueidentifier) und Parent (uniqueidentifier) besitzt, sollen also die Kategorien hierarchisch und alphabetisch dargestellt werden:
Korrekt wäre also z.B.:
| Name |
ID |
Parent |
| Rohre und Formteile |
C55C8856-6205-4F76-A15A-6FCD4A68A831 |
00000000-0000-0000-0000-000000000000 |
| Geschweißte Rohre und Formteile |
9EEE0951-4E63-4494-BB18-88BCC1D4A3E5 |
C55C8856-6205-4F76-A15A-6FCD4A68A831 |
| Rohrbögen geschweißt |
8A137449-6108-47D2-8ED0-AE0EA4176EB2 |
9EEE0951-4E63-4494-BB18-88BCC1D4A3E5 |
| Rohre geschweißt |
085A0AA3-AB9D-4DD1-9739-77040E627445 |
9EEE0951-4E63-4494-BB18-88BCC1D4A3E5 |
Erhalten habe ich mit Niels' Lösung jedoch nur:
| Name |
ID |
Parent |
| Rohre und Formteile |
C55C8856-6205-4F76-A15A-6FCD4A68A831 |
00000000-0000-0000-0000-000000000000 |
| Geschweißte Rohre und Formteile |
9EEE0951-4E63-4494-BB18-88BCC1D4A3E5 |
C55C8856-6205-4F76-A15A-6FCD4A68A831 |
| Rohre geschweißt |
085A0AA3-AB9D-4DD1-9739-77040E627445 |
9EEE0951-4E63-4494-BB18-88BCC1D4A3E5 |
| Rohrbögen geschweißt |
8A137449-6108-47D2-8ED0-AE0EA4176EB2 |
9EEE0951-4E63-4494-BB18-88BCC1D4A3E5 |
Nach einigem Experimentieren mit Views u.ä. bin ich auf folgende Lösung gekommen:
WITH CTE([Name], ID, ordercol, Parent)
AS
(
SELECT [Name], ID, cast([Name] as varbinary(100)) ordercol, Parent
FROM ProductCategory
WHERE Parent= '{00000000-0000-0000-0000-000000000000}'
UNION ALL
SELECT ProductCategory.[Name],
ProductCategory.ID,
cast(ordercol + CAST(ProductCategory.[Name] AS BINARY(4)) as varbinary(100)) ordercol,
ProductCategory.Parent
FROM ProductCategory INNER JOIN
CTE ON ProductCategory.Parent =
CTE.ID
)
SELECT [Name], ID, Parent
FROM CTE
ORDER BY ordercol, [Name]
Damit erhielt ich o.g. gewünschtes hierarchisch und alphabetisch korrekt sortiertes Resultat. Außerdem funktioniert jetzt sogar die Änderung von ORDER BY auf [Name] DESC.
Currently rated 1.3 by 51 people
- Currently 1.27451/5 Stars.
- 1
- 2
- 3
- 4
- 5
<JustMy2Cents>
Bezugnehmend auf Thomas' und Norberts Postings bezügl. OODBMS im Allgemeinen und db4o im Speziellen überlege ich gerade, ob man hinsichtlich der von Norbert gefordeten Standardisierung und allgemeiner fortschreitender messagebasierter Entwicklung nicht XML in Datenbanken den Vorzug geben sollte. Durch die Unterstützung von XML in z.B. SQL Server 2005 hat man dadurch imho auch gleich die Möglichkeit, Objekte und relationale Daten parallel in einer einzigen DB zu speichern.
Nicht, dass ich mich bisher großartig damit auseinandergesetzt hätte... ;-)
</JustMy2Cents>
Be the first to rate this post
- Currently 0/5 Stars.
- 1
- 2
- 3
- 4
- 5
Visual Studio 2005 and SQL Server 2005 developer edition are available at MSDN Subscriber Downloads now. Pretty cool ;-)
Be the first to rate this post
- Currently 0/5 Stars.
- 1
- 2
- 3
- 4
- 5
Wie Bink.nu soeben meldete, werden die Finals von SQL Server 2005, Visual Studio 2005 und BizTalk Server 2006 in KW 45 / 2005 verfügbar sein - ein wenig Geduld ist also noch notwendig... 
Currently rated 1.0 by 3 people
- Currently 1/5 Stars.
- 1
- 2
- 3
- 4
- 5
Auf der Download-Website zum SQL-Server wird sie bereits angekündigt - der Download-Link funktioniert aber noch nicht - nichtsdestotrotz: die SQL Server June 2005 Community Technology Preview ist verfügbar!
Be the first to rate this post
- Currently 0/5 Stars.
- 1
- 2
- 3
- 4
- 5
Seit heute ist die 3.
SQL Server 2005 CTP für MSDN- und Beta-Subscriber zum Download verfügbar.
Be the first to rate this post
- Currently 0/5 Stars.
- 1
- 2
- 3
- 4
- 5
Von Mitte Februar bis Anfang April veranstalten MSDN und TechNet gemeinsam eine Reihe von Webcasts rund ums Thema „SQL Server 2005“. In insgesamt 16 Online-Referaten informieren die Microsoft-Technologieexperten dabei live über aktuelle Fragestellungen zur Programmierung und Administration der kommenden Server Plattform.
Während der Webcast-Serie findet außerdem ein Gewinnspiel statt, bei dem folgende Preise zu gewinnen sind:
1. Preis: ein Creative Zen Portable Media Center mit ausgewählten Webcasts der SQL-Server Serie
2.-4.Preis: je ein T-Mobile SDA – Windows Mobile 2003 Smartphone
5.-10. Preis: je ein SQL Server 2005 Fachbuch von Microsoft Press
Be the first to rate this post
- Currently 0/5 Stars.
- 1
- 2
- 3
- 4
- 5
Kent Tegels zeigt in seinem Blog, wie man die
AdventureWorks Datenbank unter SQL Server Express installiert.
Be the first to rate this post
- Currently 0/5 Stars.
- 1
- 2
- 3
- 4
- 5
Shinja hat ja kürzlich erklärt, dass die AdventureWorks 2000 Datenbank für SQL Server 2000 gegenüber der betagten Northwind Datenbank aufgrund der aktuelleren Architektur deutliche Vorteile mit sich bringt.
Hier können die entsprechenden Files für die Installation heruntergeladen werden.
Außerdem kann hier eine Erweiterung für die AdventureWorks Datenbank heruntergeladen werden, die die Grundlage für eine eCommerce-Applikation auf Basis der AdventureWorks realisiert.
Be the first to rate this post
- Currently 0/5 Stars.
- 1
- 2
- 3
- 4
- 5
Unit Tests (mittels z.B. NUnit) bei "normalen" Applikationen gehören inzwischen ja zum guten Ton (was nicht bedeuted, dass sie letztlich auch durchgeführt werden ;-)).
Das Testen von z.B. Stored Procedures im SQL Server hingegen beschränkt sich bisher eher auf einen oder mehreren Test mit dem einen oder anderen Parameter, der *hoffentlich* zu keinem Fehler führt.
An diesem Punkt setzt der Artikel "Testing, 1, 2, 3... Testing... Check?" von S. A. Miller an. Unter anderem wird das Open Source Unit Testing Framework TSQLUnit vorgestellt.
Eine Dokumentation zu TSQLUnit ist ebenfalls verfügbar.
Be the first to rate this post
- Currently 0/5 Stars.
- 1
- 2
- 3
- 4
- 5