Announcement

Collapse
No announcement yet.

Summe von Zeilen einer Tabelle mit bestimmten Wert

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

  • Summe von Zeilen einer Tabelle mit bestimmten Wert

    gegeben:

    2 Tabellen:

    "ds_firma" mit Spalte "ds_firma_nr"

    Textfeld "MyVar" mit dem Wert "10"

    Es sollen die Anzahl der Datensätze gezählt werden deren Feld "ds_firma_nr" gleich 10 ist

    Ich versuche folgende Abfrage:

    String.Format("SELECT ds_firma_nr, COUNT (*) FROM ds_firma ORDER BY ds_firma_nr = " & MyVar)

    Der gezählte Wert soll ausgewertet werden:

    If Wert4 = "" Then
    "irgendein Ereignis..."
    End If

    Es klemmt dummerweise auf der ganzen Linie. Wie soll ich meine Abfrage richtig schreiben?

  • #2
    wie wäre es, die gewünschte Bedingung aufzunehmen...where ds_firma_nr=10.....

    Das order kann entfallen
    Christian

    Comment


    • #3
      Hallo Christian

      die gewünschte Bedingung ändert sich. Ichhabe die 10 nur genommen damit es hier nicht zu undurchsichtig wird.

      Ich habe mich folgendermaßen vorgearbeitet:

      Dim Wert4 = String.Format("SELECT COUNT(ds_firma_nr) FROM ds_firma WHERE ds_firma_nr=" & MyVar)

      Mir scheint es aber auch an der Auswertung zu klemmen:

      If Wert4 = "" Then
      ...
      End If

      Die gesamte Auswertung lautet:

      If Wert4 = "" Then

      cmd.CommandText = String.Format("INSERT INTO ds_firma (ds_firma_nr) VALUES ('" & MyVar & "')") cmd.ExecuteNonQuery()

      'Der neu angelegte Wert wird abgefragt und angezeigt:

      cmd.CommandText = String.Format("SELECT * FROM ds_firma WHERE ds_firma_nr = '" & MyVar & "'")
      cmd.ExecuteNonQuery()

      reader = cmd.ExecuteReader()

      Do While reader.Read()
      TxtBx3.Text = reader("ds_firma_name")
      Loop
      reader.Close()

      Else

      'Der bereits vorhandene Wert wird abgefragt und angezeigt:

      cmd.CommandText = String.Format("SELECT * FROM ds_firma WHERE ds_firma_nr = '" & MyVar & "'")
      cmd.ExecuteNonQuery()

      reader = cmd.ExecuteReader()

      Do While reader.Read()
      TxtBx3.Text = reader("ds_firma_name")
      Loop
      reader.Close()

      End If

      Comment


      • #4
        Das hat wohl nichts mehr mit MySQL zu tun...
        Christian

        Comment


        • #5
          Weil es so falsch ist?

          Comment


          • #6
            Weiss ich nicht, das wird wohl irgendein Basic-Dialekt sein. Man kann nicht beurteilen, ob das richtig oder falsch ist. Wenn du eine Frage zur Programmierung hast, solltest du sie formulieren und im entsprechenden Forum posten

            Mir scheint es aber auch an der Auswertung zu klemmen:
            Woher soll irgendjemand hier wissen was du wie auswerten willst?


            Mittels SQL stehen dir folgende Wege offen eine Ergebnistabelle zu erzeugen:

            a) eine Tabelle die die Summe von einer Begingung "ds_firma_nr =10" ist

            b) eine Tabelle die die Summe mehrerer OR verknüpfter Bedingungen aus a) ist

            c) eine Tabelle, die alle Summen aller ds_firma_nr enthält (http://sql.1keydata.com/de/sql-group-by.php)
            Zuletzt editiert von Christian Marquardt; 28.12.2010, 11:56.
            Christian

            Comment

            Working...
            X