Announcement

Collapse
No announcement yet.

SQL Select mit Insert

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

  • SQL Select mit Insert

    Hallo,

    Ich hab folgendes vor:

    Ich möchte immer 10 Datensätze aus einer Tabbele Lesen welches ich mit

    "select TOP 10 * from Tablename" mache.

    Jetzt möchte ich aber auch bei denen Datensätzen die ich mir rausgezognen habe ein feld updaten.

    Den beim nächsten SQL Select soll er nur 10 Einträge nehmen wo dieses feld noch nicht gesetzt ist.

    Kan mir da mal jemand auf die sprünge helfen ?

    Danke,
    Robin

  • #2
    hinterherschieben!

    update artikel as a set a.abfragestatus = 1
    where a.einzelpreis in
    (SELECT top 10 i.einzelpreis FROM Artikel as i where i.abfragestatus is null order by i.einzelpreis desc)

    Comment


    • #3
      Habe es jetzt so gemacht bekomme aber immer den error

      [Microsoft][SQLServer 2000 Driver for JDBC]Incorrect syntax near the keyword 'as'.

      SQL Statement:
      UPDATE myTable as a set a.reqstatus = 1 in(SELECT TOP 10 * FROM myTable as i where i.reqstatus is 0)

      Comment


      • #4
        Hallo Robin,
        der MS SQL Server sieht bei UPDATE und DELETE kein Alias mit "AS" vor, also einfach weglassen und den Tabellennamen nutzen, dann sollte es klappen.

        Gruß, Ola
        Olaf Helper

        <Blog> <Xing>
        * cogito ergo sum * errare humanum est * quote erat demonstrandum *
        Wenn ich denke, ist das ein Fehler und das beweise ich täglich

        Comment


        • #5
          Hi,

          folgende Select

          "UPDATE SAP_POS_ARH_RN_ZAGLAV set PRIJENOS_SIFRA=? from SAP_POS_ARH_RN_ZAGLAV where PRIJENOS_SIFRA in(SELECT TOP 1 * FROM SAP_POS_ARH_RN_ZAGLAV where PRIJENOS_SIFRA = 0)"

          Gibt folgenden Error:

          [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]Only one expression can be specified in the select list when the subquery is not introduced with EXISTS.

          Es kan doch nicht so schwer sein die Datensätze die man Selectiert hat dabei zu makieren das sie nicht nochmal selektiert werden.
          Oder etwa doch

          Comment


          • #6
            Hallo Robin,

            die Fehlermeldung besagt, das Dein Sub-Select nur eine Ergebnisspalte zurückliefern darf; mit * bekommst Du aber alle geliefert und woher sollte SQL wissen, welche er dann nehmen soll. Also das Sternchen durch den Feldnamen ersetzen, in der die Werte stehen.

            Gruß, Ola
            Olaf Helper

            <Blog> <Xing>
            * cogito ergo sum * errare humanum est * quote erat demonstrandum *
            Wenn ich denke, ist das ein Fehler und das beweise ich täglich

            Comment

            Working...
            X