Nevada: Datenbankabfrage über 2 Tabellen

Schönen guten Tag,

ich habe folgendes Problem zu Lösen:

In meiner Datenbank existieren u.a. die Tabellen Artikel in der es speziell und das Feld Gewicht des Artikels geht und eine Tabelle Fracht in der die unterschiedlichen Preise für die entsprechenden Gewichte stehen.

Als Ergebnis meiner Abfrage möchte ich eine Tabelle haben, in der neben dem Artikel der errechnete Frachtpreis steht. Ist das mit einer Abfrage möglich???

Dabei ist zu beachten das die Frachtpreise gestaffelt sind, z.B.

2 kg = 3,50
3 kg = 3,90
5 kg = 4,10  usw.

Das Artikelgewicht kann aber 2,5 kg sein. Also müßte mir das Ergebnis anzeigen  - bei 2,5 kg beträgt der Frachtpreis 3,90 €

Vielleicht kann mir jemand helfen, vielen Dank

Nevada

  1. Hi!

    Was hast Du denn schon versucht? Es handelt sich hierbei schliesslich um eine simple Abfrage ueber 2 Tabellen. Eigentlich kaum vorstellbar, dass es damit ein Problem gibt.

    Sowas sollte in jeder Dokumentation auftauchen.

  2. Hi,

    Klingt wie eine Umschüler-Lernaufgabe.

    Ja, ist theoretisch in einer einzigen Abfrage möglich. In der Praxis hängt das dann aber u.a. von dem Datenbanksystem ab, welches du einsetzt.

    Variante 1) korrelierende Unterabfrage in der Projektion, also zwischen SELECT und FROM

    Variante 2) JOIN und korrelierende Unterabfrage mit TOP 1 oder LIMIT 1 in der Selektion (also hinter WHERE)

    Es gibt bestimmt noch mehr Varianten.

    Du möchtest also jeweils die Versandkosten haben, deren Gewicht genau gleich dem Artikel(gesamt)gewicht ist oder grösser als selbiges (>=) und davon die kleinsten (mit dem kleinsten Gewicht) Versandkosten (5kg wäre auch grösser als 2.5kg)

    Was hast du bislang versucht? Wir sind schliesslich in der SELF-Show. :)

    Ciao, Frank