Felder in sql-Anweisung variabel adressieren

  • VB.NET

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von Manü.

    Felder in sql-Anweisung variabel adressieren

    Hi,

    ich habe in einer Tabelle A die Felder menge_01 bis menge_12, in einer Tabelle B den Monat und die Menge stehen. Jetzt nöchte ich abhängig vom Monat in Tabelle B die Menge in Tabelle A updaten. Geht das?

    VB.NET-Quellcode

    1. sql = "Update tabellea a"
    2. sql = sql & " inner join tabelleb as b"
    3. sql = sql & " on b.id = a.id"
    4. sql = sql & " set"
    5. sql = sql & " a.menge_" + "? hier sollte jetzt der Monat aus Tabelle b stehen"


    Wie erreiche ich jetzt, dass da jetzt z.B. a.menge_09 steht, wobei 9 der Monat in Tabelle b ist?
    Ahoi,

    zuallererst einmal verstehe ich beim besten willen nicht was du damit bezweckst.
    Weiterhin würde ich mal sagen, deiner DB würde eine saubere Normalisierung gut tun.
    Aber um deine Frage zu beantworten solltest du vielleicht deine Logik überdenken.
    der Join in der Update-Klausel sollte in eine Select-klausel, welche dein Set ersetzt ...

    oder du holst dir die Daten aus b legst sie ab (Array, List) und schreibst sie dann in einer Schleife in Tabelle a
    Grüße Manu

    Was Gott dem Menschen erspart hat, kann der Computer.
    Billy ©, (*1932), Schweizer Aphoristiker
    Quelle: www.Aphorismen.de