SQL Vergleichen Sie Zeilen einer Tabelle mit mehreren Spalten

sp

Ich habe eine Tabelle T1

Ich würde Col1 Col2 Ist aktiv
1 T1 v1 1
2 T2 v2 0

Erhielt nun die folgenden Daten und diese müssen in die obige Tabelle eingefügt werden.

|  Col1  |  Col2  |  
|--------|--------|
|   T1   |   v1   |
|   T2   |   v2   |
|   T3   |   v3   |   

Da diese Daten einige doppelte Werte enthalten, müssen sie basierend auf dem Wert der IsActive-Spalte eingefügt werden. Für Zeilen mit IsActive 1 müssen Sie mit IsActive 2 einfügen und für Zeilen mit IsActive 0 müssen Sie mit IsActive 1 wie unten einfügen. Die eindeutigen Daten müssen mit IsActive 1 eingefügt werden, und das ist derzeit kein Problem

Ich würde Col1 Col2 Ist aktiv
1 T1 v1 1
2 T2 v2 0
3 T1 v1 2
4 T2 v2 1
5 T3 v3 1

Ich habe eine Temp-Tabelle #Temp erstellt und allgemeine Zeilen in neue eingehende Daten und Daten aus vorhandenen Tabellen wie folgt eingefügt:

#Temp

Col1 Col2 Ist aktiv
T1 v1 1
T2 v2 0
T1 v1 NULL
T2 v2 NULL

Verwenden von Gruppieren nach Ich kann doppelte Zeilen auswählen, muss sie jedoch basierend auf dem IsActive-Wert einfügen, sodass ich hier geblieben bin.

insert into T1
select Col1, Col2, '1' from #Temp
GROUP BY Col1, Col2
HAVING COUNT(Col1) > 1

Ich brauche Hilfe zu diesem obigen Teil, danke im Voraus

Giorgos Betsos
Try this:
    
-- create temp table with values to be inserted
INSERT INTO #ToInsert
    ([Col1], [Col2])
VALUES
    ('T1', 'v1'),
    ('T2', 'v2'),
    ('T3', 'v3')

-- join each value of the temp table to the original table. if
-- value exists increment its `IsActive` by 1, otherwise set it to 1
INSERT INTO t (Col1, Col2, IsActive)
SELECT i.Col1, i.Col2, COALESCE(t.IsActive + 1, 1) AS IsActive
FROM #ToInsert i
LEFT JOIN (
   SELECT Col1, Col2, max(IsActive) as IsActive
   FROM t 
   GROUP BY Col1, Col2
) t ON i.Col1 = t.Col1 AND i.Col2 = t.Col2

Demo hier

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

Schwenken einer Tabelle mit mehreren Spalten in SQL

Pivot und Unpivot einer Tabelle mit mehreren Spalten und Zeilen in SQL

Verketten und vergleichen Sie zwei Spalten mit einer Spalte aus einer anderen Tabelle in SQL Server 2008?

SQL: Kombinieren Sie 2 Spalten in einer Tabelle, um sie mit 1 Spalte in einer anderen Tabelle zu vergleichen

Vergleichen Sie die Zeilen in einer Tabelle mit MySQL

Berechnen einer Funktion und Vergleichen einer Spalte mit mehreren Spalten in einer Tabelle

SQL Server Kombinieren Sie mehrere Zeilen zu einer Zeile mit mehreren Spalten

PHP - SQL: Kombinieren Sie zwei Zeilen zu einer einzelnen Zeile mit mehreren Spalten

SQL Server: Analysieren Sie einen Text mit mehreren Zeilen HTML-Code in einer Tabelle

Aktualisieren Sie mehrere Spalten mit mehreren Werten in einer einzigen Tabelle

SO GRUPPIEREN SIE ZEILEN EINER TABELLE MIT SPALTEN-DATUM

Vergleichen Sie eine Spalte mit mehreren Zeilen mit einer Spalte mit einer einzelnen Zeile

SQL SERVER Kombinieren Sie mehrere Zeilen mit mehreren Spalten zu einer einzelnen Zeile mit einer einzelnen Spalte

So vergleichen Sie zwei Zeilen einer Tabelle

So vergleichen Sie zwei Zeilen in einer Tabelle

Vergleichen Sie zwei Zeilen in einer Tabelle in PowerBI

Heben Sie die SQL-Tabelle mit mehreren Spalten auf

Erstellen Sie eine Tabelle in Latex mit mehreren Zeilen und mehreren Spalten

Vergleichen Sie die Daten in einer Tabelle, in der sich ähnliche Spalten in unterschiedlichen Zeilen befinden

Wie extrahiere ich mehrere Zeilen aus einer Tabelle basierend auf Werten aus mehreren Spalten aus einer anderen Tabelle und verkette sie dann in SQL?

Verketten einer Reihe von Spalten einer anderen Tabelle mit mehreren Zeilen

Zeilen in einer SQL-Tabelle vergleichen

Transformieren Sie eine Tabelle mit SQL - Zeilen als Spalten

Holen Sie sich eine Tabelle mit einer Zeile pro ID und mehreren Spalten aus einer Tabelle mit mehreren Zeilen für dieselbe ID und berechnen Sie die Summe basierend auf der Bedingung

Vergleichen von Zeilen derselben Tabelle mit mehreren Bedingungen

SQL-Abfrage: So überprüfen Sie die Existenz von *mehreren* Zeilen und Spalten mit einer Abfrage

Vergleichen Sie zwei Zeilen einer data.table und zeigen Sie nur Spalten mit Unterschieden an

Kombinieren Sie zwei Tabellen mit mehreren Zeilen in einer Datumsanzeige zu einer Zeile in einer anderen Tabelle

Zeigen Sie eine Tabelle mit der Maus für Elemente in mehreren Zeilen und Spalten an

TOP Liste

  1. 1

    So legen Sie mit dem Interface Builder unterschiedliche führende Speicherplätze für unterschiedliche Geräte fest

  2. 2

    Fügen Sie eine weitere Schaltfläche zu gwt Suggest Box hinzu

  3. 3

    Wie konvertiere ich einen Vektor von Bytes (u8) in eine Zeichenfolge?

  4. 4

    Wie kann ich in SCSS mehrere Klassen zu einer einzigen kombinieren?

  5. 5

    Wie konvertiert man einen Datenrahmen im langen Format in eine Liste mit einem geeigneten Format?

  6. 6

    Speichern Sie ein MPAndroidChart-Diagramm in einem Bild, ohne es in einer Aktivität anzuzeigen

  7. 7

    Gruppieren Sie Datenrahmenspalten nach ihrem Datum (die Spaltentitel enthalten) und fassen Sie die Instanzen von Einsen und Nullen in R . zusammen

  8. 8

    Tomcat - Leiten Sie den alten Kontextstamm zum neuen Kontextstamm um

  9. 9

    Eclipse Oxygen - Projekte verschwinden

  10. 10

    Wie wählt man Unterschiede mit drei Tabellen aus?

  11. 11

    Tic Tac Toe-Spiel im React-Reset-Button funktioniert nicht

  12. 12

    So berechnen Sie die Verfügbarkeit von Anwendungen (SLA)

  13. 13

    ElasticSearch BulkShardRequest ist aufgrund von org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor fehlgeschlagen

  14. 14

    Wie kann ich den Kaskadenmodus global einstellen?

  15. 15

    Python: Spalten mit demselben Namen zusammenführen, wobei der Mindestwert beibehalten wird

  16. 16

    So erhalten Sie eine gleichmäßige Höhe für alle Eingabefelder

  17. 17

    Wie erstelle ich einen neuen übergeordneten Knoten außerhalb der .ref (/ path) in der Firebase-Echtzeitdatenbank mithilfe von Cloud-Funktionen (Typescript)?

  18. 18

    Was ist schneller: SUM über NULL oder über 0?

  19. 19

    Wie kann ich eine verschachtelte Schleife mit lapply in R ersetzen?

  20. 20

    Kann ich ein Tkinter-Canvas erstellen, das mehrere Zeilen in einem Text-Widget umfasst?

  21. 21

    Ärgerliches Problem mit yaml, das ich nicht lösen kann

heißlabel

Archiv