Announcement

Collapse
No announcement yet.

Sql abfragen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Sql abfragen

    Bitte um Hilfe bei folgend Aufgaben muss Sie eherst möglich losen und komm einfach nicht drauf hab schon alles mögliche probiert

    Hab folgende Aufgaben in SQL un komme nicht weiter bitte um Hilfe wäre dringend und wichtig:

    1.

    produkt (ean, bezeichnung, kategorie, ekPreis, listPreis)
    filiale (filNr, inhName, strasse, plz)
    sortiment (filNr, ean, vkPreis, preisRed, bestand)
    kunde (kundeNr, name, bonStufe)
    rechnung (rechnungNr, datum, bezahlt, kundeNr, filNr)
    rechnungPos (rechnungNr, datum, positionNr, ean, einzelPreis, menge)

    Gesucht sind die am besten verkauften Produkte: Geben Sie pro Produktkategorie jendes Produkt aus, das stückmäßig am häufigsten verkauft wurde. Auszugeben sind Kategorie, EAN-Code, verkaufte Stückzahl sowie Umsatz. Sortieren Sie nach Kategorie

    2.)
    Highway(code, name, startNodeId,endNodeId)
    Segment (code, segId, fromKM, toKM)
    City(ZIP,Name)
    Node (nodeID, longitude, latitude, type)
    Exit(nodeId, exitNo, ZIP)
    Intersection(nodeId,name)
    HighwayIntersection(code, nodeId,atKm)
    HighwayExit(code, nodeId, atKm)

    For each highway select highway code (code), segment identifier (segID) and length
    (please name it Length) of the longest segment.

    3.kunde(nr, name, plz, strasse, gebiet)
    artikel(ean, bezeichnung, kategorie, ekpreis)
    vertreter(kurzzeichen, name provision)
    auftragskopf(nr, kunde, vertreter, lieferdatum)
    auftragszeile(nr, posnr, artikel, vkpreis, menge)
    Finden Sie das Gebiet mit dem höchsten Umsatz.

    4. kunde(nr, name, plz, strasse, gebiet) (View)
    artikel(ean, bezeichnung, kategorie, ekpreis) (View)
    vertreter(kurzzeichen, name provision) (View)
    auftragskopf(nr, kunde, vertreter, lieferdatum) (View)
    auftragszeile(nr, posnr, artikel, vkpreis, menge) (View)

    Geben Sie jene Kunden (Nr, Name) aus, die mindestens einen Artikel gekauft haben, aber nie vom Vertreter 'GP' betreut worden sind.

    Danke im vorraus

  • #2
    Die Hausaufgabe wurde hier schon mal gefragt

    http://entwickler-forum.de/showthread.php?p=236001
    Christian

    Comment


    • #3
      Danke für die schnelle Antwort das ist Aufgabe 1. Kennen Sie sich bei Aufgabe 2.3.4 aus?

      Comment


      • #4
        Muss man sich anschauen und grübeln....
        Christian

        Comment


        • #5
          Habe jetzt diese query


          Select k1.gebiet,Sum(az1.vkpreis*az1.menge)
          From kunde k1,auftragskopf ak1,auftragszeile az1
          Where k1.nr=ak1.kunde and ak1.nr=az1.nr
          Group by k1.gebiet

          Das ist das ergebniss

          GEBIET SUM(AZ1.VKPREIS*AZ1.MENGE)
          WEST 26235
          NORD 18030
          OST 71199.4

          Wie bekomme ich nur das Gebiet mit der höchsten Summe

          Comment


          • #6
            Hallo,
            Wie bekomme ich nur das Gebiet mit der höchsten Summe
            Stichwort Wikibooks: Unterabfrage
            SELECT MAX in Verb. mit der genannten Query
            MfG
            Cheat-Sheets for Developers / Programming Quotes

            Comment


            • #7
              Was heißt max in verb bei mir kommt wenn ich max(...) mache ein syntaxfehler und weiß nicht warum konntest du mir schreiben wo das max hin gehört?

              Habe jetzt das

              Select k1.gebiet
              From kunde k1,auftragskopf ak1,auftragszeile az1
              Where Sum(az1.vkpreis*az1.menge)=(Max((Select k1.gebiet,Sum(az1.vkpreis*az1.menge)
              From kunde k1,auftragskopf ak1,auftragszeile az1
              Where k1.nr=ak1.kunde and ak1.nr=az1.nr
              Group by k1.gebiet)))

              Fehlermeldung:
              Error: Your query has syntax errors.
              Description: java.sql.SQLException: ORA-00934: group function is not allowed here

              Hilfe bitte wo ist mein Fehler
              Zuletzt editiert von fridolin12; 07.11.2010, 17:03.

              Comment


              • #8
                Habe noch eine zweite Frage habe

                Fragestellung:
                Geben Sie jene Kunden (Nr, Name) aus, die mindestens einen Artikel gekauft haben, aber nie vom Vertreter 'GP' betreut worden sind.

                Tabellen:

                kunde(nr, name, plz, strasse, gebiet) (View)
                artikel(ean, bezeichnung, kategorie, ekpreis) (View)
                vertreter(kurzzeichen, name provision) (View)
                auftragskopf(nr, kunde, vertreter, lieferdatum) (View)
                auftragszeile(nr, posnr, artikel, vkpreis, menge) (View)

                Habe nun folgende Abfrage:
                Select k1.nr,k1.name
                From kunde k1 Left Outer Join auftragskopf ak1 On k1.nr=ak1.kunde
                Where ak1.nr Is Not Null and ak1.vertreter!='GP'



                Ergebisse dieser Abfrage:
                NR NAME
                11111 Roller
                15882 Schieber
                24537 Raser

                Der Roller wurde einmal von GP betreut und einmal nicht wie kann ich diesen Fall wegbringen?

                Bitte um Hilfe wäre wirklich wirklich wichtig!

                Comment


                • #9
                  Originally posted by fridolin12 View Post
                  Habe jetzt diese query


                  Select k1.gebiet,Sum(az1.vkpreis*az1.menge)
                  From kunde k1,auftragskopf ak1,auftragszeile az1
                  Where k1.nr=ak1.kunde and ak1.nr=az1.nr
                  Group by k1.gebiet

                  Das ist das ergebniss

                  GEBIET SUM(AZ1.VKPREIS*AZ1.MENGE)
                  WEST 26235
                  NORD 18030
                  OST 71199.4

                  Wie bekomme ich nur das Gebiet mit der höchsten Summe
                  [highlight=sql]select k1.gebiet, a.maximum from kunde k1,(select max(SUM(AZ1.VKPREIS*AZ1.MENGE)) as maximum,gebiet group by gebiet) a
                  where a.gebiet=k1.gebiet
                  [/highlight]

                  Comment


                  • #10
                    Originally posted by fridolin12 View Post
                    Habe noch eine zweite Frage habe

                    Fragestellung:
                    Geben Sie jene Kunden (Nr, Name) aus, die mindestens einen Artikel gekauft haben, aber nie vom Vertreter 'GP' betreut worden sind.

                    Tabellen:

                    kunde(nr, name, plz, strasse, gebiet) (View)
                    artikel(ean, bezeichnung, kategorie, ekpreis) (View)
                    vertreter(kurzzeichen, name provision) (View)
                    auftragskopf(nr, kunde, vertreter, lieferdatum) (View)
                    auftragszeile(nr, posnr, artikel, vkpreis, menge) (View)

                    Habe nun folgende Abfrage:
                    Select k1.nr,k1.name
                    From kunde k1 Left Outer Join auftragskopf ak1 On k1.nr=ak1.kunde
                    Where ak1.nr Is Not Null and ak1.vertreter!='GP'



                    Ergebisse dieser Abfrage:
                    NR NAME
                    11111 Roller
                    15882 Schieber
                    24537 Raser

                    Der Roller wurde einmal von GP betreut und einmal nicht wie kann ich diesen Fall wegbringen?

                    Bitte um Hilfe wäre wirklich wirklich wichtig!
                    Dann erfüllt er doch das Kriterium, fällt der Roller weg ist er nicht mehr da

                    Comment

                    Working...
                    X