Dies ist eine vereinfachte Version meines Problems. Ich habe 2 Tabellen untenSQL Server-Abfrage einfügen
ProductInformtaionType
ProductInformationTypeID Name isText isInteger isDecimal is Boolean
1 barcode 1 0 0 0
2 Vatable 0 0 0 1
3 Quantity 0 1 0 0
und
ProductInformtaion
ProductInformtaion ProductID ProductInformtaionTypeID ValueText ValueInteger ValueDecimal
, wenn ich einige Werte erhalte ich eine INSERT-Abfrage benötigen, die die Daten in der relavant Feld einfügen wird. zB Menge ist Ganzzahl, also muss ich das Produkt in die Produktinformationstabelle einfügen und nur das isIntegerfield
auffüllen Wie erstelle ich eine dynamische Einfügeabfrage, die das richtige Feld füllt, anstatt 4 separate Inserts für (istext, isInteger, isBoolean , isDecimal) mit dem where istext = 1-Klausel
Also, was ist die eigentliche Frage hier? –
Bitte googlen Sie und lernen Sie den INSERT-Befehl in SQL kennen. –
INSERT mit einem SELECT. Schreiben Sie eine Auswahl, die die Spalte zurückgibt, die Sie für die Einfügung benötigen, verbinden Sie sie mit der Tabelle type und verwenden Sie CASE für Text-, Ganzzahl- und Dezimalspalten. Testen Sie die Abfrage, und lassen Sie sie ablaufen. Wählen Sie dann mit 'INSERT INTO YourTable (col1, col2, ...)' auswählen und fertig. –