Als «t-sql» getaggte Fragen

Transact-SQL (T-SQL) ist ein SQL-Dialekt, der von Microsoft SQL Server und SAPs Sybase verwendet wird.

88
Abrufen von n Zeilen pro Gruppe

Ich muss oft eine Anzahl von Zeilen aus jeder Gruppe in einer Ergebnismenge auswählen. Zum Beispiel möchte ich vielleicht die 'n' höchsten oder niedrigsten letzten Bestellwerte pro Kunde auflisten. In komplexeren Fällen kann die Anzahl der aufzulistenden Zeilen pro Gruppe variieren (definiert durch...

71
MERGE eine Teilmenge der Zieltabelle

Ich versuche, mit einer MERGEAnweisung Zeilen aus einer Tabelle einzufügen oder zu löschen, möchte jedoch nur auf eine Teilmenge dieser Zeilen reagieren. Die Dokumentation für MERGEhat eine ziemlich starke Warnung: Es ist wichtig, nur die Spalten aus der Zieltabelle anzugeben, die für...

37
Schreiben eines Auswahlergebnisses in eine CSV-Datei

Wir müssen die SELECT-Abfrageergebnisse in eine CSV-Datei schreiben. Wie geht das mit T-SQL in SQL Server 2008 r2? Ich weiß, dass dies in SSIS möglich ist, aber aus bestimmten Gründen haben wir diese Option nicht. Ich habe versucht, das im folgenden Artikel vorgeschlagene Verfahren zu verwenden,...

34
GO Nach jeder T-SQL-Anweisung

Was ist der Grund für die Verwendung der GO-Anweisung nach jeder SQL-Anweisung? Ich verstehe, dass GO das Ende des Batch signalisiert und / oder die Reputation von Anweisungen zulässt, aber welchen Vorteil es hat, wenn es nach jeder Anweisung verwendet wird. Ich bin nur neugierig, da viele...

34
Laufende Summe mit Zählung?

Wie der Titel schon sagt, brauche ich etwas Hilfe, um eine laufende Summe in T-SQL zu erhalten. Das Problem ist, dass die Summe, die ich machen muss, die Summe einer Zählung ist: sum(count (distinct (customers))) Sagen Sie, wenn ich die Zählung alleine durchführe, wäre das Ergebnis: Day |...

26
Indexperformance auf ON versus WHERE

Ich habe zwei Tische @T1 TABLE ( Id INT, Date DATETIME ) @T2 TABLE ( Id INT, Date DATETIME ) Diese Tabellen haben einen nicht gruppierten Index für (ID, Datum). Und ich verbinde diese Tische SELECT * FROM T1 AS t1 INNER JOIN T2 AS t2 ON t1.Id = t2.Id WHERE t1.Date <= GETDATE() AND t2.Date <=...