Вопросы с тегом «t-sql»

Transact-SQL (T-SQL) - это диалект SQL, используемый Microsoft SQL Server и Sybase SAP.

88
Получение n строк на группу

Мне часто нужно выбирать количество строк из каждой группы в наборе результатов. Например, я мог бы хотеть перечислить 'n' самые высокие или самые низкие недавние значения заказа на клиента. В более сложных случаях количество строк в списке может варьироваться в зависимости от группы (определяется...

71
MERGE подмножество целевой таблицы

Я пытаюсь использовать MERGEоператор для вставки или удаления строк из таблицы, но я хочу воздействовать только на подмножество этих строк. В документации MERGEесть довольно строго сформулированное предупреждение: Важно указать только столбцы из целевой таблицы, которые используются для...

57
Скользящая сумма диапазона дат с использованием оконных функций

Мне нужно рассчитать скользящую сумму по диапазону дат. Чтобы проиллюстрировать это, используя пример базы данных AdventureWorks , следующий гипотетический синтаксис сделал бы именно то, что мне нужно: SELECT TH.ProductID, TH.TransactionDate, TH.ActualCost, RollingSum45 = SUM(TH.ActualCost) OVER (...

50
Какой самый простой способ создать временную таблицу в SQL Server, которая может содержать результат хранимой процедуры?

Много раз мне нужно написать что-то вроде следующего при работе с SQL Server. create table #table_name ( column1 int, column2 varchar(200) ... ) insert into #table_name execute some_stored_procedure; Но создать таблицу с точным синтаксисом в результате хранимой процедуры - утомительная задача....

44
Оценивает ли оператор SQL Server CASE все условия или завершает работу при первом ИСТИННОМ условии?

CASEОценивает ли оператор SQL Server (в частности, 2008 или 2012) все WHENусловия или он завершается, когда находит WHENпредложение, которое оценивается как истинное? Если он проходит через весь набор условий, означает ли это, что последнее условие, оцениваемое как истинное, перезаписывает то, что...

43
Просят не использовать транзакции и использовать обходной путь для симуляции одного

Я занимаюсь разработкой T-SQL в течение нескольких лет и постоянно копаюсь, продолжая изучать все, что могу, по всем аспектам языка. Недавно я начал работать в новой компании и получил, как мне кажется, странное предложение относительно транзакций. Никогда не используйте их. Вместо этого...

37
Запись результата выбора в CSV-файл

Нам нужно записать результаты запроса SELECT в CSV-файл. Как это можно сделать с помощью T-SQL в SQL Server 2008 r2? Я знаю, что это можно сделать в SSIS, но по некоторым причинам у нас нет этой опции. Я попытался использовать предложенный proc в статье ниже, но когда я запускаю proc, SQL жалуется,...

34
GO После каждого оператора T-SQL

Какова причина использования оператора GO после каждого оператора SQL? Я понимаю, что GO сигнализирует об окончании партии и / или разрешает репутацию утверждений, но какое преимущество имеет его использование после каждого утверждения. Мне просто любопытно, как много документации Microsoft и т. Д....

34
Общая сумма с подсчетом?

Как следует из названия, мне нужна помощь в получении промежуточного итога в T-SQL. Проблема в том, что сумма, которую мне нужно сделать, это сумма счета: sum(count (distinct (customers))) Скажем, если бы я вел подсчет один, результат был бы: Day | CountCustomers ---------------------- 5/1 | 1 5/2...

33
Табличный параметр как выходной параметр для хранимой процедуры

Можно ли использовать параметр Table-Valued в качестве выходного параметра для хранимой процедуры? Вот что я хочу сделать в коде /*First I create MY type */ CREATE TYPE typ_test AS TABLE ( id int not null ,name varchar(50) not null ,value varchar(50) not null PRIMARY KEY (id) ) GO --Now I want to...

33
Логические операторы ИЛИ И в условии и порядке условий в ГДЕ

Давайте рассмотрим эти два утверждения: IF (CONDITION 1) OR (CONDITION 2) ... IF (CONDITION 3) AND (CONDITION 4) ... Если CONDITION 1есть TRUE, будет CONDITION 2проверено? Если CONDITION 3есть FALSE, будет CONDITION 4проверено? Как насчет условий на WHERE: оптимизирует ли ядро ​​SQL Server все...

33
Как узнать, используется ли база данных SQL Server?

Мы собираемся списать экземпляр SQL Server, на котором еще есть несколько баз данных. Как я могу определить, используются ли они пользователями или веб-приложением? Я нашел ветку форума с запросом T-SQL, который вы можете запустить, чтобы получить дату последнего запроса. Кажется, это работает, но...

31
Почему скорость выполнения операторов зависит от сетевого подключения?

Похоже, что скорость выполнения T-SQL зависит от задержки сетевого соединения с сервером. Я предположил, что если SQL Server не будет о чем сообщить клиенту, он просто будет выполняться до тех пор, пока это не будет сделано, но тестирование покажет другую историю. create procedure UselessLoop @I...

29
Что делает OPTION FAST в операторе SELECT?

Я немного покопался в том, что OPTION (FAST XXX)подсказка запроса делает внутри SELECTоператора, и все еще в замешательстве. По данным MSDN: Указывает, что запрос оптимизирован для быстрого поиска первых number_rows. Это неотрицательное целое число. После возвращения первых number_rows запрос...

29
Почему подстановочные знаки в операторах GROUP BY не работают?

Я пытаюсь заставить работать следующий оператор SQL, но получаю синтаксическую ошибку: SELECT A.*, COUNT(B.foo) FROM TABLE1 A LEFT JOIN TABLE2 B ON A.PKey = B.FKey GROUP BY A.* Здесь A - это широкая таблица с 40 столбцами, и я хотел бы избежать перечисления каждого имени столбца в предложении GROUP...

28
Если положительный, суммируйте все пункты. Если отрицательный, вернуть каждый

Мне нужно найти путь ко SUM()всем положительным значениям numи вернуть SUM()все положительные числа и отдельную строку для каждого отрицательного числа. Ниже приведен пример DDL: Create Table #Be ( id int , salesid int , num decimal(16,4) ) Insert Into #BE Values (1, 1, 12.32), (2, 1, -13.00), (3,...

27
Как использовать COALESCE с несколькими строками и без предшествующей запятой?

Я пытаюсь добиться следующего: California | Los Angeles, San Francisco, Sacramento Florida | Jacksonville, Miami К сожалению, я получаю "Лос-Анджелес, Сан-Франциско, Сакраменто, Джексонвилл, Майами" Я могу достичь желаемых результатов с помощью функции STUFF, но мне было интересно, есть ли более...