Articles of tsql

Entity Framework-Abfragen vermissen den gefilterten Index WHERE BIT-Feld = 0

Ich habe festgestellt, dass Entity Framework LINQ-Abfragen mit negativen booleschen Filtern so übersetzt, dass der generierte Abfrageplan keinen gefilterten Index verwendet. Zum Beispiel die Abfrage: context.Foo.Count(f => !f.IsActive) generiert die SQL-statement: SELECT [GroupBy1].[A1] AS [C1] FROM ( SELECT COUNT(1) AS [A1] FROM [dbo].[Foos] AS [Extent1] WHERE [Extent1].[IsActive] <> cast(1 as bit) ) AS [GroupBy1] Beachten […]

Kann ich Dynamic SQL in SQL server / TSQL zurücksetzen

Kann ich eine dynamische SQL in einer Transaktion ausführen und mit EXEC zurückrollen: exec('SELECT * FROM TableA; SELECT * FROM TableB;'); Fügen Sie dies in eine Transaktion ein und verwenden Sie den Fehler @@ nach der exec-statement, um Rollbacks durchzuführen. z.B. Code BEGIN TRANSACTION exec('SELECT * FROM TableA; SELECT * FROM TableB;'); IF @@ERROR != […]

Erstellen einer gespeicherten Prozedur mit einer unterschiedlichen WHERE-Klausel für verschiedene Suchkriterien, ohne alle in eine lange characterfolge zu schreiben

Gibt es alternative Möglichkeit, gespeicherte Prozedur zu erstellen, ohne alle Abfrage in einer langen characterfolge zu setzen, wenn Kriterien der WWHERE-Klausel unterschiedlich sein können. Angenommen, ich habe eine Orders-Tabelle. Ich möchte eine gespeicherte Prozedur für diese Tabelle erstellen, und es gibt drei Spalten, in denen ich datasätze filtern möchte. 1- Kundennummer, 2- Lieferant, 3- Produktnummer. […]

SQL Join Ignoriere mehrere Treffer (unscharfe Ergebnisse ok)

Ich weiß nicht einmal, wie der Name meines Problems heißt, also werde ich nur einige Beispieldaten eingeben. Ich mache mir keine unscharfen Ergebnisse darüber (das ist der beste path, um es auszudrücken. Ich habe nichts dagegen, wenn ich einige data übersehe, dies ist für eine angenäherte Auswertung, nicht für eine detaillierte Abrechnung, wenn das Sinn […]

Angemessene Verwendung der `IDENTITY` in TSQL

Mögliche Duplikate: Der beste path, um die Identität der eingefügten Zeile zu erhalten? Wann ist es angebracht und wie sollte jemand das unterschiedliche IDENTITY Schlüsselwort in T-SQL verwenden? WÄHLEN SIE @@ IDENTITÄT, SELECT SCOPE_IDENTITY () SELECT IDENT_CURRENT ('Tabellenname')

Nach Unterabfrage gruppieren

Was ist die beste Methode, um die folgende T-SQL-Abfrage gültig zu machen: select count(*), (… a subquery that returns one result …) as [Bar] from Foo foo group by [Bar]

SQL, um die Änderung des Elements in einer sequenzierten list zu erhöhen

Ich habe eine SQL server 2008 Tabelle mit den folgenden data darin: seq | item 1 | A 2 | B 3 | C 4 | C 5 | C 6 | B 7 | D 8 | D 9 | C Ich, was eine neue Spalte zurückgibt, die eine Zahl ist, die bei Änderung […]

Wie konvertiert man Zeilen in eine Spalte in T-SQL und schreibt sie in eine temporäre Tabelle?

Dies ist eine Frage, die vielleicht schon gestellt wurde. Meine Anfrage ist SELECT Year, Month, Line, SUM(value) as total FROM myTable Ich habe die folgende Abfrage-Ergebnistabelle: Year Month Line Total ——————————————- 2011 2 B1 5203510.00 2011 3 B1 2228850.00 2011 4 B1 7258075.00 2011 5 B1 6305370.00 2011 6 B1 5540180.00 2011 7 B1 7624430.00 […]

tSQLt schlägt fehl, wenn versucht wird, eine Synonym-Tabelle zu FakeTable zu erstellen

Ich benutze tSQLt (durch Red Gate's SQL Test Version 1.0.0.455). tSQLt ist in der database A installiert. Ich versuche, eine tSQLt.FakeTable für eine Tabelle in database B auf derselben SQL server-Instanz über ein Synonym für database A auszuführen. Code: ALTER PROCEDURE [ErrorType109NonTankHasSizeOrVolume]. [Test AliasTest] AS START Ausführen tSQLt.FakeTable 'dbo.Bygning'; Einfügen in dbo.Bygning (ObjStatus) Werte (1); […]

Berechnen Sie den durchschnittlichen timeunterschied zwischen zwei Datetime-Feldern pro Tag

Ich habe eine Taxi-database mit zwei Datetime-Feldern 'BookedDateTime' und 'PickupDateTime'. Der Kunde muss die durchschnittliche Wartezeit vom timepunkt der Buchung des Taxis bis zu dem timepunkt kennen, an dem der Fahrer den Kunden tatsächlich "abgeholt" hat. In der database befinden sich mehrere Zeilen, die die data eines Monats abdecken. Das Ziel ist es, eine Abfrage […]