t-sql ×27
Создан 04.01.2025
0
голоса
2
ответов
17
просмотров
Вставка строки в таблицу для каждого ID из другой таблицы

У меня возникла проблема, с которой я не смог найти аналогичное решение на StackOverflow, и хотел бы узнать, как лучше всего решить эту задачу.

У меня есть таблица с более чем 17 миллионами строк, каждая из которых имеет уникальный идентификатор. Мы недавно создали новую таблицу, которая будет...

0
голоса
5
ответов
18
просмотров
Создание хранимой процедуры, если она еще не существует

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

USE [myDatabase]
GO

IF NOT EXISTS (SELECT * FROM sys.objects WHERE type = 'P' AND name =...
0
голоса
5
ответов
19
просмотров
Получить СРЗНАЧ, игнорируя значения Null или Ноль

Как я могу получить среднее значение столбца, игнорируя значения NULL и нулевые значения?

У меня есть три столбца, для которых я хочу вычислить среднее значение. Я пробую использовать следующий скрипт:

SELECT distinct
     AVG(cast(ISNULL(a.SecurityW,0) as bigint)) as Average1,
    ...
0
голоса
5
ответов
16
просмотров
Определение первичного ключа таблицы с использованием T-SQL

Я пытаюсь определить первичный ключ таблицы с использованием TSQL (подходит как хранимая процедура, так и системная таблица). Существует ли такой механизм в SQL Server (2005 или 2008)?

0
голоса
2
ответов
16
просмотров
Выбрать группу строк, которые соответствуют всем элементам списка

У меня есть две таблицы:

  1. cars – список автомобилей:
carname | modelnumber | ...
  1. passedtest – содержит информацию о каждом тесте, который прошел автомобиль:
id | carname | testtype | date | ...
1  | carA    | A        | 2000 |
2  | carB    | C        | 2000 |
3  | carC    |...
0
голоса
1
ответов
20
просмотров
Для чего действительно нужен SQL-тип данных национального символа (NCHAR)?

Заголовок: Проблема с использованием типов данных NCHAR и NVARCHAR в различных СУБД

Тело вопроса:

Я столкнулся с ситуацией, связанной с выбором типов данных для хранения строковых значений в SQL. Я заметил, что, помимо стандартных типов CHAR (CHARACTER) и VARCHAR (CHARACTER VARYING), SQL...

6
голоса
5
ответов
26
просмотров
Лучший способ удалить часть времени из datetime в SQL Server

Какой метод обеспечивает наилучшие показатели производительности при удалении временной части из поля datetime в SQL Server?

Я рассмотрел два следующих метода:

a) select DATEADD(dd, DATEDIFF(dd, 0, getdate()), 0)

или

b) select cast(convert(char(11), getdate(), 113) as...
6
голоса
5
ответов
31
просмотров
OR не поддерживается в выражении CASE в SQL Server

Описание проблемы

Я пытаюсь использовать оператор OR в cláusule WHEN выражения CASE, но получаю сообщение об ошибке, поскольку данная конструкция не поддерживается.

Вот пример кода, который я использую:

CASE ebv.db_no 
    WHEN 22978 OR 23218 OR 23219 THEN 'WECS 9500' 
    ELSE...
6
голоса
5
ответов
33
просмотров
Возможно ли задать условия в Count()?

Возможно ли указать условие в функции Count()? Я хотел бы считать только те строки, которые имеют, например, "Менеджер" в столбце Position.

Мне нужно сделать это в самом операторе COUNT, а не с помощью WHERE; я спрашиваю об этом, потому что мне нужно посчитать как Менеджеров, так и Других в одном...

7
голоса
5
ответов
48
просмотров
Получить первую строку каждой группы

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

Таблица DocumentStatusLogs | ID | DocumentID | Status | DateCreated | |----|------------|--------|-------------| | 2 | 1 | S1 | 29.07.2011 | | 3 | 1 | S2 ...

8
голоса
5
ответов
46
просмотров
Запрос UPDATE в SQL с использованием JOINов

Я столкнулся с задачей обновления поля таблицы, используя значение, полученное в результате соединения трех таблиц.

Пример SQL-запроса:

select
    im.itemid,
    im.sku as iSku,
    gm.SKU as GSKU,
    mm.ManufacturerId as ManuId,
    mm.ManufacturerName,
    im.mf_item_number,
   ...
6
голоса
5
ответов
50
просмотров
Выбор COUNT(*) с DISTINCT

У меня есть проблема с запросом в SQL Server 2005. У меня есть таблица cm_production, в которой перечислены все коды, которые были выставлены в продакшен. Таблица содержит столбцы ticket_number, program_type, program_name и push_number, а также несколько других столбцов. ЦЕЛЬ: Посчитать все...

13
голоса
5
ответов
58
просмотров
Как получить идентификатор вставленной строки?

Как получить значение IDENTITY вставленной строки?

Я знаком с @@IDENTITY, IDENT_CURRENT и SCOPE_IDENTITY, но не понимаю, какие последствия или влияние связано с каждым из них. В чем разница между ними, и когда следует использовать каждое из этих значений?

16
голоса
5
ответов
62
просмотров
Как выполнить оператор UPDATE с JOIN в SQL Server?

Я пытаюсь обновить таблицу в SQL Server с данными из ее 'родительской' таблицы, см. ниже:

Таблица: sale

id (int) udid (int) assid (int)

Таблица: ud

id (int) assid (int)

sale.assid содержит правильное значение для обновления ud.assid.

Какой запрос выполнит это обновление? Я предполагаю, что...

7
голоса
5
ответов
35
просмотров
Как выбрать все записи из одной таблицы, которые отсутствуют в другой таблице?

Описание проблемы

У меня есть две таблицы в базе данных:

  • table1 (id, name)
  • table2 (id, name)

Мне нужно составить запрос, который выберет все имена из table2, которых нет в table1. Как правильно сформулировать этот SQL-запрос?

18
голоса
5
ответов
45
просмотров
Как выполнить IF...THEN в SQL SELECT?

Как выполнить оператор IF...THEN в операторе SQL SELECT?

Например:

SELECT IF(Obsolete = 'N' OR InStock = 'Y', 1, 0) AS Saleable, * FROM Product

Вопрос заключается в том, как правильно использовать условные операторы в запросах SQL для получения нужного результата.

9
голоса
5
ответов
43
просмотров
Следует ли мне использовать != или <> для обозначения "не равно" в T-SQL?

У меня возник вопрос по поводу синтаксиса SQL. Я заметил, что в коде используется как оператор !=, так и оператор `` для обозначения "не равно". Какой из этих синтаксисов предпочтителен и почему?

Лично мне больше нравится !=, так как `` напоминает мне о Visual Basic.

18
голоса
5
ответов
59
просмотров
"Вставка результатов хранимой процедуры в временную таблицу"

Вопрос: Как выполнить SELECT * INTO [временная таблица] FROM [хранимая процедура]? Не FROM [таблица] и без определения [временной таблицы]?

Я использую следующий запрос, чтобы выбрать все данные из таблицы BusinessLine во временную таблицу tmpBusLine, и это работает...

9
голоса
5
ответов
35
просмотров
Как выполнить JOIN с первой строкой?

Заголовок: Как избежать дублирования строк в SQL-запросе при наличии нескольких строк в заказе?

Я приведу конкретный, но гипотетический пример.

Каждый Заказ обычно имеет только один позиционный элемент:

Заказы:

OrderGUID   OrderNumber
=========   ============
{FFB2...}  ...
10
голоса
5
ответов
61
просмотров
Функция против Хранимой процедуры в SQL Server

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