Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

Access: Abfragen mit SQL

Daten übernehmen

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Die zweite Version des UPDATE-Befehls liest die Daten aus einer anderen Tabelle aus und schreibt sie in das gewünschte Zielfeld.

Transkript

Wenn Sie hier im Datenbankmodell nachsehen, wissen Sie, dass es hier einen Standardpreis für den Lehrer gibt. Wenn also Willi Wichtig Querflöte unterrichtet, dann kostet das meinetwegen 50 Euro die Stunde. Und es gibt einen zweiten Preis, nämlich den konkreten Preis im Unterricht. Grundsätzlich gilt dieser Preis, aber wenn es Geschwisterschüler sind, dann könnte sich der Preis grundsätzlich um 20 Prozent reduzieren. Es muss also zuerst einen Weg geben, um den Standardpreis hier überhaupt einzutragen und zweitens bei der Gelegenheit vielleicht auch zu berücksichtigen, ob es sich um Geschwister handelt. Ich habe dazu in der Datenbank bereits eine Query, eine Abfrage vorbereitet, die nichts anderes macht, als ein Paar von den Tabellen zusammenzufassen. Und zwar die, die auf dieser Strecke liegen. Es beginnt mit der Tabelle "Lehrer", dazwischen gibt es die Tabelle "Termine", die ich gar nicht angezeigt habe, dann kommt die Tabelle "Unterrichte", Und da haben Sie schon die wesentlichen zwei Felder, bei "lehrePreisStandard" steht schon der Standardpreis, und hier, für den Unterricht gibt es noch keinen konkreten Preis. Zusätzlich kommt aus der Tabelle "Schüler" das Feld mit der Referenz, so dass ich hier beispielsweise sehen kann, es handelt sich offensichtlich um ein Geschwisterkind. Ich will als erstes die Daten von hier einfach nach dort hineinkopieren, also brauche ich ein UPDATE, und zwar ein UPDATE für diese Abfrage. Das müssten Sie gar nicht kompliziert über alle Tabellen mit allen JOINs in dieser Abfrage machen, sondern Sie können sich die Abfrage, wie hier gesehen, auch vorbereiten. Jetzt gebe ich an, in welches Feld ich reinschreiben möchte, das ist das Feld mit dem konkreten Preis. Als zweites gebe ich an, wo der Wert denn herkommt, und das ist in diesem Fall keine feste Zahl, sondern der Standardwert. Im Moment sehen Sie, dass die Daten noch alle leer sind. Wenn ich das jetzt ausführe, sind auf Anhieb alle Preise gefüllt. Wenn Sie genau gucken, sehen Sie: die Geschwisterregelung ist noch nicht berücksichtigt. Das könnte man mit einer WHERE-Klausel machen, so dass Sie zwei Abfragen nacheinander ausführen müssten, Ich will Ihnen bei der Gelegenheit schon direkt eine einzige zeigen, die nämlich berechnet, wenn in der Referenz ein Wert drinsteht, also wenn der nicht Null ist, dann wird es um 20 Prozent vermindert. Ansonsten wird der Originalwert genommen. Das ganze heißt dann im Englischsprachigen natürlich "Funktionen", das "wenn" ist ein "Iif", Achtung, mit zwei "i", dann ein IsNull(), das ist eine Funktion, die prüfen kann, ob der Wert "Null" ist, und zwar nicht der Standardpreis, sondern hier natürlich die Referenz. Wenn das "Null" ist, dann ist es sozusagen ein normales Kind; eines, das kein Geschwisterkind ist. Dann bleibt der Preis. Andernfalls, also das ist das erste Argument vor dem Komma, die Prüfung, was ist, wenn die Prüfung wahr ist, und jetzt folgt, was ist, wenn die Prüfung falsch ist. Dann nehme ich auch erstmal den Standardpreis, aber multipliziere ihn mit dem Faktor 0.8 Achtung, amerikanische Schreibweise, und dann muss ich die Iif()-Klammer wieder schließen. Ich überschreibe jetzt die vorherigen Werte, hier wird 500 Mal wieder der Originalpreis reingeschrieben, aber an dieser Stelle, werden Sie sehen, folgt jetzt ein anderer Preis, also aktualisieren lassen. Und jetzt stehen hier tatsächlich nur noch 20 Prozent weniger, nämlich die 40 Euro. Also, das "UPDATE" gibt es in zwei Varianten, nämlich einmal mit direkten Inhalten, die Sie dann in der Abfrage, im SQL-Statement notieren, oder, viel viel häufiger: in denen Sie die Datenquelle so vorbereiten, dass beide Felder zu sehen sind, und sie dann sozusagen von links nach rechts mit dieser SET-Anweisung die Daten bewegen.

Access: Abfragen mit SQL

Nutzen Sie die mächtige Abfragesprache SQL in Microsoft Access. Anhand einer Beispiel-Datenbank lernen Sie die Möglichkeiten und Finessen von SQL im Detail kennen.

3 Std. 14 min (64 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieses Training ist für alle Access-Versionen verwendbar. Das vermittelte SQL-Wissen lässt sich mit geringen Abweichungen auch für andere relationale Datenbanksysteme nutzen.

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!