Announcement

Collapse
No announcement yet.

If Anweisung in SQL Server 2005 MS

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

  • If Anweisung in SQL Server 2005 MS

    verwendetes Datenbanksystem: SQL Server 2005

    hey,

    muss ein Programm von Access in C#.net umwandeln und bin grade dabei die vorhandene Querys auf SQL 205 anzupassen.

    Leider gelingt mir keine If Abfrage in SQL Server:
    Sum( If (Result=1) 1 end else 0 ) AS NEs,

    Gibt immer Fehler aus "Error near 'if'"

    und wenn ich
    Sum( IIf (Result=1) 1 end else 0 ) AS NEs,

    Gibt immer den Fehler aus "Error near '='"

  • #2
    Hallo Feliandrus,

    unterm MS SQL Server heisst es
    CASE WHEN THEN

    also z.B.

    SELECT SUM(CASE Result WHEN 1 THEN 1 ELSE 0 END) AS Summe
    FROM ...

    Olaf
    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


    • #3
      Ich kenne mich in MSSQL nicht so aus, da du aber im allgemeinen SQL-Forum gepostet hast, beantworte ich mal allgemein.

      Bist du sicher das, das Staement so funktioniert hat, denn es müsste case statt if heissen:
      [highlight="sql"]
      Sum( case when Result=1 then 1 else 0 end ) AS NEs,
      [/highlight]
      oder du nimmst die Funktion if/iif

      Comment


      • #4
        Funktioniert, vielen Dank.

        Nun folgende Situation:

        Die Abfrage in Access greift auf "qry_wkz", eine Access-Abfrage zu:
        ... DAT_Produkte LEFT JOIN qry_WKZ ON ...

        Nun gibt es aber bei mir mit SQL 2005 keine Abfragen die ich so wie in Access wie Tabellen behandeln kann.
        Die Abfrage zu "qry_wkz" ist auch wieder 3 Zeilen lang.
        Wie löse ich das am besten?

        Comment


        • #5
          MSSQL unterstützt sicherlich Views.

          Comment


          • #6
            Genau, unter MS SQL heissen Abfragen "Sicht" (View).
            Die Views müsstest Du nur erst auf der MSSQL Datenbank anlegen mit

            CREATE VIEW Name AS
            SELECT .....

            Auf die kannst Du wie auf Tabellen zugreifen.

            Olaf
            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


            • #7
              Hmm ok

              werde gleich ma nachlesen was Views genau sind.
              Das erstellen hat aber schonmal geklappt.

              Weiß zuällig auch noch einer wie ich meine komplette MySQL Tabelle nach MSSQL konvertieren kann?
              Die Struktur und 5 Datensätze habe ich mit einer Demo-Software gemacht aber phpmyadmin ist dafür ehrlich ein graus!

              Comment


              • #8
                Exportiere die DB in ein Skript und passe dieses an.

                Comment


                • #9
                  Das Problem ist, wenn ich selbst nur eine Tabelle exportiere (die kleinste Tabelle hat 200.000 Datensätze) kommt von MS beim öffnen der sql-Datei n Fehler das diese zu riesig sei!

                  Comment


                  • #10
                    Dann exportiere mal nur die Metadaten und übertrage die Daten mit einer DataPump

                    Comment


                    • #11
                      Was sind MetaDaten und was ist ne DataPump?

                      Comment


                      • #12
                        Metadaten sind die Informationen über die Datenbankobjekte ( Tabellen, ...)
                        eine Datapump ist ein toll, welches dir Daten von einer Datenbank in die andere übertragen hilft.

                        Comment

                        Working...
                        X