Announcement

Collapse
No announcement yet.

Frage zu Count

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

  • Frage zu Count

    Hallo Zusammen,
    ich habe mal wieder eine Frage und dieses mal zu Count und der Ergebnisausgabe in einer neuen (zusätzlichen Spalte).
    Es geht um folgendes Problem:

    Ich habe eine Tabelle T2, in der alle Produktmerkmale gespeichert sind. So zum Beispiel auch Produkt, Produkt_No und das Land.
    Eine Tabelle T1 habe ich erstellt, in der sind alle Produkte und die Produkt_No abgelegt für die ich mich tatsächlich interessiere.
    Ein Produkt mit der eindeutigen Produktnummer kann in mehreren Ländern verkauft werden. Ich möchte eine Abfrage erstellen in der ich
    Produkt, Produkt_NO, Land, Anzahl der verkauften Produkte im Land darstellen kann.

    Wäre toll, wenn mir jemand helfen könnte!
    Vielen Dank!

  • #2
    Das habe ich schon gemacht. Der Count muss immer direkt hinter dem Eintrag stehen, der gezählt werden soll, oder?

    select
    t2.landname,
    count(*) as "Anzahl Produkte pro Land",
    t2.produkt,
    t2.produkt_no
    from t2
    inner join t1
    on (t2.produkt_no = t1.produkt_no and t2.produkt = t1.product and t2.datum >= '13.03.1986')
    group by t2.landname, t2.produkt, t2.produkt_no, t2.landname;

    Comment


    • #3
      Wo der Count steht ist egal. Es wird alle Zeilen zusammen gezählt die nach deiner Angabe im group by gleich aussehen unabhängig von der Platzierung in der Select Klausel. Wenn du etwas anderes zählen willst mußt du anders gruppieren oder was anderes zählen als einfach *.

      Comment


      • #4
        Also irgendwas ist da schief.
        Wenn Du "Produkt" und "Produkt NUmmer" abfragst und zählst, dürfte nicht viel Gescheites dabei rauskommen, idealerweise "1".
        Entweder du lässt diese beiden Merkmale weg und erhälst die Anzahl der Produkte selbst pro Land oder Du nimmst eine Bestelltabelle oder sowas hinzu und bekommst die tatsächlich verkauften Produkte namentlich mit der Anzahl der erfolgten Verkäufe.
        Gruß, defo

        Comment


        • #5
          Hallo Neshi,

          wie du bereits gelesen hast, ist deine Fragestellung nicht korrekt formuliert.

          1. Wenn du die Anzahl der Produkte pro Land haben möchtest, dann
          Code:
          SELECT count(1) AS "Anzahl der Produkte pro Land"
                  FROM  from t2 inner join t1
                      on (t2.produkt_no = t1.produkt_no and t2.produkt = t1.product and t2.datum >= '13.03.1986')
                GROUP BY landname;
          Auf die Ausgabe von t2.landname, t2.produkt und t2.produkt_no muss du verzichten.

          2. Wenn du t2.produkt_no, t2.produkt und t2.landname und wie oft dieses Produkt im jeweiligen Land verkauft wurde, dann in etwa so
          Code:
          SELECT t2.produkt_no, t2.produkt und t2.landname, 
          		(SELECT count(1)
          		    FROM t2 t
          		    WHERE t.produkt_no = t2.produkt_no
                                AND t.produkt = t2.produkt_no
          		      AND t.landname = t2.landname
          		) AS "Anzahl"
          	  FROM  from t2 inner join t1
                          on (t2.produkt_no = t1.produkt_no and t2.produkt = t1.product and t2.datum >= '13.03.1986');
          Gruss kuemmelchen

          Comment

          Working...
          X