![]() |
AW: Bekomme Inner Joins nicht hin
Und T-SQL ist in vielen Dingen halt "speziell"
|
AW: Bekomme Inner Joins nicht hin
Zitat:
|
AW: Bekomme Inner Joins nicht hin
Jo.
|
AW: Bekomme Inner Joins nicht hin
Als ausgewiesener NichtSQLGuru habe ich eine Frage zur Datenstruktur:
Warum trennst Du die Daten in zwei Tabellen auf? Wäre es nicht einfacher, die Revisionsdaten DateTime und den Kommentar mit in die Haupttabelle zu nehmen? Gruß Michael |
AW: Bekomme Inner Joins nicht hin
"Einfacher" sicherlich, aber nicht normalisiert.
Vielleicht war es gestern Abend für mich schon zu spät, aber wenn ich es noch richtig im Kopf habe, dann ist das immerhin in dritter Normalform, denn ich habe keine transitive Abhängigkeit. Hätte ich die Felder "changeTimestamp" und "changeComment" noch mit hereingepackt hätte ich die dritte Normalform nicht, denn Daten1 & Daten2 wären abhängig davon. Wahrscheinlich noch nicht einmal die erste Normalform, denn was haben eigentlich Änderungszeitpunkt und -Kommentar mit einem "Item" an sich zu tun? ![]() ![]() |
AW: Bekomme Inner Joins nicht hin
Normalisiert wäre es aber in die andere Richtung.
Eine Revision bezieht sich auf eine Item und nicht umgekehrt. |
AW: Bekomme Inner Joins nicht hin
Auch ein Argument. Meine Motivation war eher dass es später evtl. nicht "Item_Rev" sondern nur "Rev" ist. Das eine Revision nicht nur ein Item, sondern evtl. auch Wombatze enthält.
Ich denke sobald ich den Kram halbwegs am laufen habe mache ich noch einmal ein eigenes Thema um die Struktur von euch Profis bewerten zu lassen... |
AW: Bekomme Inner Joins nicht hin
Ich finde die Struktur auch Suboptimal, aber sei es wie es sei, ist nicht einfach durch die höchste Rev_ID schon alles bestimmt?
SQL-Code:
Rom, viele Wege und so...
Select * From Items
Left Join rev_items b on b.ID=a.rev Where a.rev=(Select max(rev) From Items Where ID=a.ID) |
AW: Bekomme Inner Joins nicht hin
Ich bin ja noch nicht einmal mit der Syntax klargekommen. Dass man einfach so sagen kann
Delphi-Quellcode:
war mir z.B. auch neu.
WHERE x = (Query)
Das sieht ja schon beschämend einfach aus und scheint zu gehen. Warum grade Left Join? Das würde Sinn machen wenn man Items ohne Revision hat, aber die gibt es bei mir nicht 😎 |
AW: Bekomme Inner Joins nicht hin
Ja, Normalisierung ist wichtig und gut ... aber manchmal steht sie dem flexiblen und raschen Zugriff auf Daten auch ganz schön im Weg. :stupid:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz