Announcement

Collapse
No announcement yet.

Brauche hilfe bei Code zum Ausführen :(

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

  • Brauche hilfe bei Code zum Ausführen :(

    Hallo zusammen,

    folgendes Problem:

    Ich habe zwei Tabellen mit den Namen "content" und "term".
    In der Tabelle "term" gibt es zwei Spalten: "id" sowie "term-id"
    In der Tabelle "content" gibt es die Spalten: "id"(inhaltsgleich mit der Spalte "id" aus der Tabelle "term") sowie "field"

    Ich möchte nun erreichen, folgendes erriechen:

    WENN "term-id" in Tabelle "term" den Wert "5" hat, dann
    HOLE dir für die Zeilen mit Wert "5" aus der Spalte "id" in Tabelle "term" den Wert, und
    CHECKE(gleiche ab) mit "id" in Tabelle "content" und
    ÄNDERE dort in "field" in Tabelle "content" alle in Frage kommenden Zeilen ab
    WO der Wert von "field" in Tabelle "content" den Wert NULL hat

    War das jetzt verständlich?

    Sorry, aber ich hoffe das es das ist.

    Wäre wirklich ganz toll, wenn mir hier jemanden einen entsprechenden SQL Code generieren könnte, bzw. mir Tipps geben kann, wie ich ihn generieren kann, bin leider recht unwissend in diesem Bereich!

    Freue mich auf Eure Antworten und Tipps.

    Viele Grüße
    Florian

  • #2
    [highlight=sql]
    UPDATE content
    SET content.field = 'neuer Inhalt'
    WHERE
    content.Id in
    (
    SELECT id
    FROM term
    WHERE term-id = 5
    )
    AND content.field IS NULL
    [/highlight]

    Hinweis zur Vorgehensweise: Nicht versuchen das ganze Teil auf einmal zu schreiben, sondern lauter kleine Blöcke machen. Das geht in SQL ganz wunderbar.

    1. Erstmal alle Ids raussuchen der term-Id 5 ist:

    [highlight=sql]
    SELECT id
    FROM term
    WHERE term-id = 5
    [/highlight]

    2. Alle updaten deren id in der obigen liste ist:

    [highlight=sql]
    UPDATE content
    SET content.field = 'neuer Inhalt'
    WHERE
    content.Id in
    (
    SELECT id
    FROM term
    WHERE term-id = 5
    )
    [/highlight]

    3. die nicht updaten die NULL sind:

    [highlight=sql]
    UPDATE content
    SET content.field = 'neuer Inhalt'
    WHERE
    content.Id in
    (
    SELECT id
    FROM term
    WHERE term-id = 5
    )
    AND content.field IS NULL
    [/highlight]

    Comment


    • #3
      Hallo!

      Hat perfekt funktioniert. Danke für die Erläuterungen! Super!

      Viele Grüße
      Florian

      Comment

      Working...
      X