Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Guten Morgen!

also falls ihr den Titel noch nicht verstanden habt ich habe eine Datenbank mit mehreren Tabellen. In der einen Tabelle habe ich die Spalten EinkaufsNr, Menge, Verkaufspreis und in der anderen EinkaufsNr, Gesamtbetrag. Nun möchte ich je nach EinkaufsNr die Spalten Menge und Verkaufspreis miteinander multiplizieren und das Ergebnis in die Spalte Gesamtbetrag schreiben. Nur leider komme ich nicht sehr weit...

Mein Code sieht bis jetzt folgendermaßen aus:

result = stmt.executeQuery( 

"INSERT INTO Einkauf(Gesamtbetrag) " + 

"SELECT Einkaufsposition.Verkaufspreis * Einkaufsposition.Menge AS summe " + 

"FROM Einkaufsposition, Einkauf " + 

"WHERE Einkauf.EinkaufsNr = Einkaufsposition.EinkaufsNr ");

Edit:\\ ******e falsches Forum??? Versuche mit Java auf Access Datenbank zuzugreifen bin ich hier richtig oder nicht???

MfG

Saban

Bearbeitet von Saban

Aehm, ich würde die zweite Tabelle nicht als Tabelle sondern als View anlegen.

Denn das zweite ist ja immer nur ein Blick auf die erste Geschichte.

Also Tabelle:

Einkaufsnr., Menge, VKPreis

View:

Einkaufsnr, Gesamtbetrag as: Menge*VKPreis

1. NF: Jedes Attribut der Relation muss einen atomaren Wertebereich haben. (Statt „atomar“ wird auch die Bezeichnung „atomisch“ verwendet.)

D.h. keine berechenbaren Spalten in einer Tabelle.

Wie wärs, einfach die DB als gegeben zu betrachten statt am DB-Design rumzuschlaumeiern.

Fällt mir immer wieder auf, dass irgendwelche Leute bei SQL-Fragen am DB-Design rummeckern, welches aber überhaupt nicht zur Diskussion steht.

Und es gibt sehr wohl Gründe berechnete Werte in einer Tabelle zu speichern. Lediglich berechnete Werte innerhalb der gleichen Tabelle zu speichern ist nich ok.

Gründe können in der Performance oder auch in der Geschäftslogik liegen. Etwa wenn ein berechneter Preis in ner Tabelle gespeichert wird. Es kann sein, dass die Details zur Preisberechnung sich im laufe des Tages ändern, etwa weil user irgendwo eingaben und Änderungen machen. Der Preis soll sich aber nicht ständig ändern, sondern erst am nächsten Tag aktualisiert sein, ggf nachdem alles nochmal geprüft wurde. Folglich wird nachts die Preistabelle aktualisiert und hat wiederum nen Tag lang bestand.

Mein Tipp wär, die gewünschte SQL-Abfrage in deinem Fall erstmal in Access zurecht zu basteln. Da solltest du bessere Fehlermeldungen bekommen und einfacher testen können.

Hallo!

Danke erst mal für die Posts! Also erst mal die Aufgabe wurde mir so gestellt ich soll mich damit nur in DBs einarbeiten. Des ist nur ein Beispiel. Des nächste ist das ich des in der Access DB schon probiert habe aber wie gesagt bin Neuling und habe keine Ahnung wie ich nen SubSelect bei nem Anfragen-Entwurf in Access erstellen kann. Es muss auf alle Fälle mit einem SubSelect gelöst werden hat mein Chef gemeint. hat jemand ne idee?

MfG

Saban

I

Wenn mich nämlich nicht alles täuscht, beherrscht Access keine Subselects.

Ich meine auch, aber 100%ig sicher bin ich nicht, evtl kann sich da auch was von Version zu Version unterscheiden. Deshalb würde ich das Statement erst mal direkt testen.

Evtl ließe sich da auch was über einen "View" (Abfrage) realisieren.

Phil

Bearbeitet von flashpixx
FullQuote geändert

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.