Hallo Zusammen
Ich bin an einem Java Swing Projekt dran und habe nun ein Problem beim Auslesen einer MYSQL Datenbank, welche ich in Java in ein JTable anzeigen möchte. In der Datenbank möchte ich Bestellungen für verschiedenen Produkte einlesen, da ich aber relativ viele Produkte abdecke, hat die Datenbank bzw Tabelle sehr viele Spalten. Nun möchte ich natürlich, wenn ich eine Bestellung spezifisch anzeige, dass nur jene Spalten angezeigt werden, bei denen ein Wert eingetragen wurde bzw. nicht alle Werte null sind. So ist nämlich die Tabelle auch übersichtlich, was Sie mit allen Produkten (Spalten) nicht wäre.
Nun brauche ich eine SQL Query, die mir genau dies aus meiner Datenbank auswählt. Ich habe ein wenig recherchiert und habe gelesen dass anscheinend dies nur mit PL SQL möglich ist. Nun meine Frage: Ist dies mit SQL überhaupt möglich und wenn ja wie wäre der ansatz für meine query?
Zu meiner Hardware bzw. Software, ich habe einen Server gemietet, auf der die Maria.db Sql version 10.6 installiert ist oder ich kann auch auf einen Wamp Server ausweichen auf dem Apache SQl installiert ist.
Ich hoffe jemand kann mir weiterhelfen weil SQL ist für mich immer noch ein wenig Neuland sobsld es etwas tiefer in die Materie geht.
Gruss Selmau
SQL Select only if... Anweisung PL SQL ?
Besten Dank für deine Antwort
Du meinst also, dass ich für jedes Produkt Tabelle erstellen soll und dann be einer Bestellung jeweils in diejenigen Tabellen hineinschreibe? Das würde einfach heissen dass ich etwa 40 Tabellen hätte und somit ei enormer Aufwand bei einer Sortimentenwechslung
Für das Auslesen müsste wäre es dann einfacher da ich in der query sagen könnte, es soll nur jene Spalten Anzeigen, wo die Bestellnumnee =xy ist, dafür wird das hineinschreiben kompliziert, da ich für jedes Produkt abfragen muss in Java, ob mehr als 0 davon bestelkt wurden
Für mich wäre die Variante mit einer Tabelle einiges leichter zu regeln in Java, wenn dies mit Pl SQL funktionieren würde.
Du meinst also, dass ich für jedes Produkt Tabelle erstellen soll und dann be einer Bestellung jeweils in diejenigen Tabellen hineinschreibe? Das würde einfach heissen dass ich etwa 40 Tabellen hätte und somit ei enormer Aufwand bei einer Sortimentenwechslung
Für das Auslesen müsste wäre es dann einfacher da ich in der query sagen könnte, es soll nur jene Spalten Anzeigen, wo die Bestellnumnee =xy ist, dafür wird das hineinschreiben kompliziert, da ich für jedes Produkt abfragen muss in Java, ob mehr als 0 davon bestelkt wurden
Für mich wäre die Variante mit einer Tabelle einiges leichter zu regeln in Java, wenn dies mit Pl SQL funktionieren würde.
@Selmau: nein, das meine ich nicht. Was hast Du schon über relationale Datenbanken gelernt? Dir scheinen noch wichtige Grundlagen zu fehlen. Ohne Deine genauen Anforderungen zu kennen, ist es schwierig, Dir beim Tabellendesign zu helfen. Aber prinzipiell sieht sowas so aus:
[codebox=text file=Unbenannt.txt]
Tabelle Produkt:
ID | Bezeichnung | etc.
------------------------
Tabelle Bestellung:
ID | Datum | etc.
------------------
Tabelle Bestellmenge:
Bestell_ID | Produkt_ID | Menge
--------------------------------
[/code]
[codebox=text file=Unbenannt.txt]
Tabelle Produkt:
ID | Bezeichnung | etc.
------------------------
Tabelle Bestellung:
ID | Datum | etc.
------------------
Tabelle Bestellmenge:
Bestell_ID | Produkt_ID | Menge
--------------------------------
[/code]
- noisefloor
- User
- Beiträge: 4149
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,
wenn du deine Daten nicht wie von Sirius3 vorgeschlagen strukturieren / normalisieren kannst (oder willst), dann würde sich für dich auch sehr eine Dokumenten-orientierte Datenbank wie CouchDB oder MongoDB anbieten.
Anbindungen für PYTHON gibt es für beide Datenbanken
Gruß, noisefloor
wenn du deine Daten nicht wie von Sirius3 vorgeschlagen strukturieren / normalisieren kannst (oder willst), dann würde sich für dich auch sehr eine Dokumenten-orientierte Datenbank wie CouchDB oder MongoDB anbieten.
Anbindungen für PYTHON gibt es für beide Datenbanken

Gruß, noisefloor