Announcement

Collapse
No announcement yet.

SQL Subquery

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

  • SQL Subquery

    Hallo alle!

    Ich bin noch ein sql Anfänger und hab ein Problem.

    Ich habe 2 Tabellen:

    Tabelle main: Columns |KategorieID |KategorieName |AnzahlBeiträge|LetzterBeitrag

    Tabelle newTopic: Columns |CategoryID|BeitragID|Verfasser|Beitrag|Datum

    Ich möchte gerne mit EINEM SELECT Query die Anzahl COUNT(BeitragID) in die Tabelle main als AnzahlBeiträge anzeigen lassen

    SelectCommand="SELECT KategorieID, COUNT(BeitragID) FROM main, newTopic WHERE KategorieID=CategoryID GROUP BY KategorieID">

    Ich hab echt schon viel probiert mit INNER JOIN auch aber ich komme nicht weiter.

    Wäre nett wenn mir da jemand helfen könnte.

    Vielen Dank

    Timmy

  • #2
    Das müsste eigentlich gehen:

    ;with tmp(KatID) as (select distinct KategorieID from main)
    SELECT KatID, (select COUNT(*) FROM newTopic where KatID=CategoryID) as Anzahl FROM tmp

    bye,
    Helmut

    PS: nennt sich CTE = common table expression

    Comment


    • #3
      Danke das ganze wird direkt in die asp site integriert hab ich vergessen zu sagen sorry

      funzt jedoch nicht

      <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ForumDBConnectionString %>"
      SelectCommand="
      ;with tmp(KatID) AS (SELECT DISTINCT KategorieID from main)
      SELECT KatID, (SELECT COUNT(*) FROM newTopic WHERE KatID=CategoryID) AS BeitragsAnzahl FROM tmp">
      </asp:SqlDataSource>

      Comment


      • #4
        "funzt jedoch nicht" ist leider keine Aussage, bei der ich dir weiterhelfen kann. Je mehr genaue Fehlermeldungen angegeben werden, umso größer wäre die Chance auf eine hilfreiche Antwort.

        bye,
        Helmut

        Comment


        • #5
          Danke für alles, hat sich geklärt.

          Liebe Grüße

          Timmy

          Comment

          Working...
          X