Jump to content

SQL Datenbank Abfrage


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

Hallo und Guten Tag.

Ich bin Neu in diesem Forum, und hoffe das ich das richtige Brett gewählt habe.

Bei meinen Projekten die ich erstellt habe, benutzte ich immer Access Datenbanken. Was SQL Datenbank angeht, Anfänger. 

Ich mache das Hobbymäßig und habe ein paar kleine Anwendungen mit Visual Basic für meinen Sportverein geschrieben.

Um weiter zu lernen habe ich jetzt zum ersten mal eine SQL Datenbank erstellt, darin eine Tabelle angelegt und mit Daten gefüllt. Jetzt brauche ich von dieser Tabelle Abfragen (Auswahlabfragen) nach bestimmten Kriterien. War mit Access kein Problem.

Wie folgt bin ich vorgegangen:

Datenbank-Explorer - rechtsklick auf Tabellen - Neue Abfrage - Quelltabelle einfügen - Spalten auswählen - Sortierung festlegen - Kriterien festlegen - SQL Code ausführen.

1.SELECT        Schütze, Verein, Klasse, Serie1, Serie2, Serie3, Serie4, Gesamt
2.FROM            [Anmeldung Teilnehmer]
3.WHERE        (Klasse = N'M')
4.ORDER BY Gesamt DESC, Serie4, Serie3, Serie2, Serie1

Das funzt, im Ergebnisfenster werden Spalten und Daten wie gewünscht angezeigt. Diese Abfrage würde ich jetzt gerne in einer Tabelle speichern, und bei jeder Änderung in der Quelltabelle mit den gleichen Kriterien, soll die Abfrage automatisch aktualisiert werden. Wo wird den der SQL Code hinterlegt?

Habe auch eine Tabellenerstellungsabfrage gemacht, funzt auch, wird aber bei Änderungen in der Quelltabelle nicht aktualisiert. Gehe ich irgendwie den falschen Weg, denke ich zuviel in Access? Für jede Hilfe mein Dank im voraus.

Gruß Skaletti!  

Geschrieben

Hallo Pathomorph,

in der Basis-Tabelle werden alle Teilnehmer erfasst und sollen dann durch die Abfragen in die einzelnen Klassen unterteilt werden, in der sie starten.

Aus den Tabellen werden später PDF´s die für einen Tabellendurchlauf und für Siegerlisten (Hompage) gebraucht werden.

Die Daten bleiben ja in der Basis-Tabelle.

Gruß Skaletti!

Geschrieben

Wie folgt bin ich vorgegangen:

Datenbank-Explorer - rechtsklick auf Tabellen - Neue Abfrage - Quelltabelle einfügen - Spalten auswählen - Sortierung festlegen - Kriterien festlegen - SQL Code ausführen.

1.SELECT        Schütze, Verein, Klasse, Serie1, Serie2, Serie3, Serie4, Gesamt
2.FROM            [Anmeldung Teilnehmer]
3.WHERE        (Klasse = N'M')
4.ORDER BY Gesamt DESC, Serie4, Serie3, Serie2, Serie1
Das funzt, im Ergebnisfenster werden Spalten und Daten wie gewünscht angezeigt. Diese Abfrage würde ich jetzt gerne in einer Tabelle speichern, und bei jeder Änderung in der Quelltabelle mit den gleichen Kriterien, soll die Abfrage automatisch aktualisiert werden. Wo wird den der SQL Code hinterlegt?

 

 

Um eine Tabelle automatisch zu aktualisieren kannst Du MERGE benutzen. http://msdn.microsoft.com/en-us/library/bb510625.aspx Wenn Du auf Änderungen in einer Tabelle reagieren möchtest, sieh dir Tabellen Trigger an.

http://msdn.microsoft.com/de-de/library/ms189799.aspx

 

Habe auch eine Tabellenerstellungsabfrage gemacht, funzt auch, wird aber bei Änderungen in der Quelltabelle nicht aktualisiert. Gehe ich irgendwie den falschen Weg, denke ich zuviel in Access? Für jede Hilfe mein Dank im voraus.

Wie hättest Du es denn in Access gemacht?

Geschrieben

Hallo Sunny61,

erst mal vielen Dank für eure Hilfe.

Werde mich um deine Tips kümmern und melde mich dann wieder.

In Access erstellt man mit dem Abfrageassistenten eine Auswahlabfrage nach Kriterien.

Gruß Skaletti!

Geschrieben

Werde mich um deine Tips kümmern und melde mich dann wieder.

In Access erstellt man mit dem Abfrageassistenten eine Auswahlabfrage nach Kriterien.

Das ist mir schon klar, ich entwickle seit vielen Jahren in und mit Access. Eine Auswahlabfrage ist im SQL Server eine VIEW, die aktualisiert aber keine Tabelle. Deshalb ja die Frage wie Du es in Access gemacht hättest.

Geschrieben

Wenn Du Access einigermassen beherrschst, könntest Du dort ja Deine Tabellen/Abfragen basteln und dann mit dem MS SQL Server Migration Assistant auf den Server schieben. Der erstellt Dir dann auch die notwendigen Trigger :)

Geschrieben

Ich verstehe immer noch nicht das eigentliche Problem...

Es ist doch effektiver, auf Basis der einen Tabelle die Ausgabe zu variieren: Entweder durch Views oder mit Tabellenwert-Funktionen. Entweder macht man pro Klasse eine oder man übergibt die Klasse als Parameter..

 

Übersehe ich da etwas?!

Geschrieben

Hallo,

vielen Dank für Eure Bemühungen.

Ich versuche es ja mit einer SQL Datenbank zu arbeiten um Access zu vermeiden. Trotzdem Danke für den Tipp.

Ich habe mal versucht ein View zu erstellen:

CREATE VIEW  Test
AS SELECT  Schütze, Verein, Klasse, Serie1, Serie2, Serie3, Serie4, Gesamt
FROM         Anmeldung Teilnehmer
WHERE       Klasse = N'M'
ORDER BY Gesamt DESC, Serie4, Serie3, Serie2, Serie1;

Fehlermeldung:

Fehler beim Analysieren der Abfrage. [Token line number = 1,Token line Offset =

8, Token in error = VIEW]

Wie gesagt, Anfänger. Vielleicht etwas Hilfe?

Gruß Skaletti!

Geschrieben

Hallo Sunny61,

ich weiß, das hört sich jetzt b***d an, aber ich finde den Objekt-Explorer nicht, in dem der Knoten "Sichten" sein soll.

Ich arbeite mit Microsoft Visual Basic Express 2012 für Desktop.

Gruß Skaletti!

Geschrieben

ich weiß, das hört sich jetzt b***d an, aber ich finde den Objekt-Explorer nicht, in dem der Knoten "Sichten" sein soll.

Ich arbeite mit Microsoft Visual Basic Express 2012 für Desktop.

Downloade das aktuelle SQL Server Management Studio und verbinde dich auf die betroffene Instanz. Dann hast Du die Sichten zur Verfügung.

 

http://www.microsoft.com/de-de/download/details.aspx?id=29062

Du brauchst nur diesen Download:

SQLManagementStudio_x64_DEU.exe

oder

SQLManagementStudio_x86_DEU.exe

Geschrieben

Hallo Sunny61,

Habe alles hinbekommen. Musste auch den Server neu installieren, hatte ein paar Fehler.

Vielen Dank für die Hilfe, auch an alle anderen.

Können dieses Thema erst mal abschließen.

Gruß Skaletti!

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...