Ausgabe unterschiedl. Werte mit ident. ID

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Ausgabe unterschiedl. Werte mit ident. ID

    Und wieder ein blutiger Anfänger, dessen Hirnkapazität nicht für eine simple SQL-Abfrage reicht...

    Ich habe eine Tabelle, aus der ich bestimmte Werte aus der Spalte Text ausgeben will. Einige Felder haben eine identische ID, unterscheiden sich aber durch die Sprache (LANGUAGE = 1, LANGUAGE = 2). Zu meinem Problem: Ich möchte in der Tabelle Werte suchen, welche bestimmte Kriterien erfüllen. Existieren diese Werte in der Language 2, soll dieser Wert angezeigt werden, andernfalls der Wert der Language 1 (identische ID, aber unterschiedliche Language ID). Kann mir jemand ein entsprechendes SQL-Statement formulieren? Besten Dank im voraus an alle, die zur Lösung des Problems beitragen!

    PS: Ich weiss nicht, ob das Query was bringt, hänge es aber trotzdem mal an.

    SELECT DISTINCT TOP 5 WEBOBJECTS.ID, WEBOBJECTS.TYPE

    FROM WEBOBJECTS,OBJTEXT

    WHERE ((subtype = 9) OR (subtype = 12) OR (subtype = 18) OR (subtype = 19) OR (subtype = 20) OR (subtype = 21))
    AND (WEBOBJECTS.type = 2) AND (OBJTEXT.OBJECT_ID = WEBOBJECTS.ID) AND (OBJTEXT.VALID_TILL > GETDATE() OR (OBJTEXT.VALID_TILL IS NULL))
    AND OBJTEXT.LANGUAGE IN (1,2)

  • #2
    Machst das nur per SQL oder benutzt du noch ne Scriptsprache (welche?)

    CAT Music Files

    Kommentar


    • #3
      Mach es eigentlich nur per SQL - die 'Skript-mässigen' Elemente in meinem Code-Beispiel kommen von daher, dass das Ganze in einem Datenbank basierenden Content Management System umgesetzt wird. Ich habe inzwischen aber eine Lösung gefunden:

      select top 5 id, type from
      (SELECT top 5 WEBOBJECTS.ID, WEBOBJECTS.TYPE
      FROM WEBOBJECTS,OBJTEXT
      WHERE subtype in (9, 12 ,18, 19, 20, 21)
      AND WEBOBJECTS.type = 2
      AND OBJTEXT.OBJECT_ID = WEBOBJECTS.ID
      AND ( OBJTEXT.VALID_TILL > GETDATE() OR OBJTEXT.VALID_TILL IS NULL )
      AND OBJTEXT.LANGUAGE = 2
      union
      SELECT top 5 WEBOBJECTS.ID, WEBOBJECTS.TYPE
      FROM WEBOBJECTS,OBJTEXT
      WHERE subtype in (9, 12 ,18, 19, 20, 21)
      AND WEBOBJECTS.type = 2
      AND OBJTEXT.OBJECT_ID = WEBOBJECTS.ID
      AND ( OBJTEXT.VALID_TILL > GETDATE() OR OBJTEXT.VALID_TILL IS NULL )
      AND OBJTEXT.LANGUAGE = 1) as internal_table

      Danke trotzdem!

      Kommentar


      • #4
        welches CMS verwendest du?

        berni

        php-Entwicklung | ebiz-consult.de
        PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
        die PHP Marktplatz-Software | ebiz-trader.de

        Kommentar


        • #5
          obtree C3

          Kommentar


          • #6
            noch nie gehört! hast du einen link dazu?

            php-Entwicklung | ebiz-consult.de
            PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
            die PHP Marktplatz-Software | ebiz-trader.de

            Kommentar


            • #7
              obtree C3

              Details findest Du unter http://www.obtree.com - ist (zumindest in der Schweiz) eines der beliebtesten CMS. Ich kann's auch sehr empfehlen. Du kannst die geläufigsten DB's anhängen, es auf den wichtigsten Webservern betreiben & brauchst nicht eine neue Programmiersprache zu lernen, um damit Projekte zu realisieren (mit HTML, Javascript & z.B Transact-SQL kann man fast alles erschlagen).

              Kommentar

              Lädt...
              X