Fügen Sie Spalten dynamisch, abhängig von einer Bedingung in SQL

Ich bin mit SSMS 2012. Betrachten Sie eine Tabelle Ein mit den Spalten A, B, C. ich möchte Sie dynamisch hinzufügen eine neue Spalte D dieser Tabelle basierend auf einer Bedingung, in einer der vorhandenen Spalten. Wie kann das erreicht werden?

Abfrage die wie folgt aussieht,
select col1, col2 from #temptbl

Zu diesem #temptbl, ich würde gerne eine Spalte hinzufügen, col3 und der Wert in col3 wird basierend auf einer Bedingung auf col2.

  • Haben Sie versucht, alles, was mit den gespeicherten Prozeduren. wenn die Anzahl der coulmns sind die gleichen für jede Tabelle, die dieses getan werden kann
  • Meinst du das hinzufügen einer Spalte nur für Datensätze, die die Bedingung? In diesem Fall ist es nicht möglich. Sie würden haben, um die Spalte für die gesamte Tabelle. Es wäre besser, um die Spalte hinzuzufügen und trotzdem setzen Sie den Wert für die Spalte auf der Grundlage der Bedingung (berechnetes Feld vielleicht)
  • Ja, das ist es, was ich meinte. Eine Spalte hinzufügen und Werte zurück, die in dieser Spalte basieren auf der Bedingung. Wie kann das getan werden?
  • Ändern Sie die Tabelle und fügen Sie die Spalte. Führen Sie dann eine update-Anweisung mit einem case-Ausdruck. Es sei denn, Sie geben uns ein paar details über deine Tabelle und die Logik, die am besten ist, jeder kann bieten.
  • Ich geändert habe meine Frage mit einem Beispiel-query. Bitte könnten Sie mir helfen, zu das jetzt?
InformationsquelleAutor Raja | 2015-08-04
Schreibe einen Kommentar