DevTrain Startseite Advanced Developers Conference vom 14.-15. Februar 2011  
  
  
SUCHEN:  
ARTIKEL ONLINE: 525   

Kategorien
.NET
Datenbanken
Web
XML

Allgemein
Camp
Foren
Events
Persönliche Einstellungen
Registrieren
Prämien Shop
Kontakt
Impressum
Über DevTrain

Autoren



 

Forum: SQL | Thema: komplexe SQL-Anfrage | Von: Martin Schmidt ( 21.12.2004 14:52)

Hallo,

ich habe folgendes SQL(Datenbank)-Problem:

In einer Tabelle (tblnachrichten) zur Veröffentlichung von Nachrichten gibt es folgende Felder

NachrichtID (Primary Key)
ThemaID (Verweis auf die Tabelle mit den Themen)
Preis (hat Kunde für den Erwerb der Nachricht bezahlt)
Veröffenlichungsdauer (der Nachricht in Monaten)
Auflage (Printauflage oder PageViews der Nachricht)
KundenID (Verweis Tabelle Kunden [=Käufer] der Nachricht)
LieferantenID (Verweis Tabelle Lieferanten der Nachricht)


D.h. die Tabelle enthält Nachrichtennutzungverträge von verschiedenen Kunden, wobei ein Kunde auch
mehrere nachrichten haben kann.

Nun sollen mit einer SQL-Abfrage alle gekauften Nachrichten EINES Kunden ausgegeben werden, was ja noch kein Problem darstellt.
(SELECT * FROM tblnachrichten WHERE KundenID = wert)

Zusätzlich soll aber in der Ergebnistabelle neben dem Nachrichtenpreis der für diese Nachricht jeweils günstigste gespeicherte Preis (Benchmarkwert) mit dem dazugehörigen Lieferanten ausgegeben werden, egal von welchem Kunden diese günstigste Nachricht erworben wurde. Ein Kunde soll also sehen, ob es eine Nachricht mit gleicher ThemaID, Veröffentlichungsdauer und Auflage in der Datenbank gibt, die zu einem günstigeren Preis zu haben ist (war), als er selbst bezahlt (hat)

Mein Problem: ich muss in jeder Zeile die Nachrichten eines bestimmten Kunden mit den Vertragsdaten (Preis und LieferantID) der jeweils günstigsten Nachrichtennutzung zusammenbringen und zwar anhand der Parameter ThemaID, Veröffentlichungsdauer sowie der Auflage, um dann die beiden Preise gegenüberzustellen. Das Feld mit dem günstigsten Preis stammt ja mit hoher Wahrscheinlichkeit aus einem anderen Datensatz. Ich habe keine Idee, wie ich das zusammenbringen kann.

Geht das überhaupt mit EINER Abfrage oder muss ich das auf zwei Abfragen verteilen?

Und wie muss das ganze aussehen?

Ich hoffe, ich konnte mein Problem verständlich schildern :-)
Danke Euch allen & frohe Weihnachten

Gruss
martins



Betreff Von Datum
Re: komplexe SQL-Anfrage
Hallo :-)<br><br>ich hoffe mal, dass ich die Frage richtig verstanden habe.<br><br>Habe eine (vereinfachte) Tabelle erstellt:<br><br>Name: tab1<br>id (int)<br>preis (float)<br>themaid (int) Index für virtuelle Tabelle...
Thomas Golla 22.12.2004 09:44
Re: komplexe SQL-Anfrage
select tab1.themaid, tab1.preis, tab_minPreis.Preis as 'min_Preis'<br>from tab1, (select min(preis) as 'Preis', themaid as '_themaid' from tab1 group by themaid) as "tab_minPreis" <br>where kundenid =...
Thomas Golla 22.12.2004 09:54
Re: komplexe SQL-Anfrage
Lieber Tom,<br><br>1000Dank für Deinen Denkanstoss. <br><br>Die SQL-Abfrage ist aber etwas komplexer, da noch zwei weitere Felder in die Tabelle müssen: "Veröffenlichungsdauer" (der Nachricht in Monaten) und...
G. Guest 22.12.2004 13:44
Re: komplexe SQL-Anfrage
Lieber Tom,<br><br>1000Dank für Deinen Denkanstoss. <br><br>Die SQL-Abfrage ist aber etwas komplexer, da noch zwei weitere Felder in die Tabelle müssen: "Veröffenlichungsdauer" (der Nachricht in Monaten) und...
Martin Schmidt 22.12.2004 13:45
Re: komplexe SQL-Anfrage
Hallo Martin,<br><br>leider habe ich keine Ahnung welche "Sonderregeln" man bei Access beachten muss ... ich arbeite mit MS-SQL.<br><br>Habe die Abfrage etwas erweitert ... sollte nun so dem entsprechen was...
Thomas Golla 22.12.2004 15:48
Re: komplexe SQL-Anfrage
Hallo Tom,<br><br>sorry, dass ich mich erst jetzt melde, aber ich bin leider nicht früher dazu gekommen. Dein Tipp ist goldwert - es passt.<br><br>Allerdings stellen sich jetzt für mich wieder ein paar...
G. Guest 28.12.2004 12:12
Re: komplexe SQL-Anfrage
Hallo Tom,<br><br>sorry, dass ich mich erst jetzt melde, aber ich bin leider nicht früher dazu gekommen. Dein Tipp ist goldwert - es passt.<br><br>Allerdings stellen sich jetzt für mich wieder ein paar...
Martin Schmidt 29.12.2004 08:59
Re: komplexe SQL-Anfrage
Hallo Martin,<br><br>ich bin zwar nicht Tom, aber ich habe hier ein paar Antworten für Dich ...<br><br>1)Um der Datenbank genauer sagen zu können, von welchem Feld es die Daten nehmen soll, kann man vor den...
Daniel Röber 07.03.2005 17:10

Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!

 Betreff:
 Nachricht: Den Beitrag finden Sie nun unter: http://beta.devtrain.de/foren Die Benutzerdaten und Foreninhalte von beta.devtrain.de und www.devtrain.de sind die selben.
Sie können sich dort sogar per RSS über neue Inhalte informieren lassen.
Bei Problemen bitte direkt Mail an asp [AT] ppedv.de.

 Signatur:

  



Login
Username:


Passwort:






Passwort vergessen?

Advanced Developers Conference vom 14.-15. Februar 2011

© Copyright 2003 ppedv AG