SELECT *
- только список конкретных полей. То же и в случае INSERT
- перечисляй все поля, в которые идёт вставка. Единственное место, где может быть звезда как список полей - это в COUNT(*)
.INSERT INTO new_table (column1, column2, ...)
SELECT column1, column2, ...
FROM old_table
WHERE ... ;
WITH cte AS (
SELECT id,
num,
LAG(num) OVER (ORDER BY id) lag_num
FROM test
)
SELECT id,
num,
CASE WHEN num <> 0
THEN SUM(CASE WHEN num <> 0 AND lag_num = 0 THEN 1 ELSE 0 END) OVER (ORDER BY id)
ELSE 0
END [group]
FROM cte
SELECT CASE WHEN [column] IS NULL
THEN 'sale'
WHEN CHARINDEX([column], '.') > 0
THEN LEFT([column], CHARINDEX([column], '.') - 1)
ELSE [column]
END AS [column]
FROM source_table;
как есть 2-я таблица с такимеже значениями только без .0 и без NULL . А мне в дальнейшем нужно сравнить эти 2 таблицы
SELECT *
FROM table1
JOIN table2 ON table1.[column] = CASE WHEN table2.[column] IS NULL
THEN 'sale'
WHEN CHARINDEX(table2.[column], '.') > 0
THEN LEFT(table2.[column], CHARINDEX(table2.[column], '.') - 1)
ELSE table2.[column]
END;
Select *
from Employees
where [Employee ID] != ALL ( SELECT 90 UNION SELECT NULL );
Но это такое убожество что я толком ничерта не понимаю
отличаются ли запросы sql MSSQL от Mysql
возможно ли сменить БД без нарушения функциональности софта.
WITH
cte1 AS ( SELECT id, col1 val FROM test UNION ALL
SELECT id, col2 FROM test UNION ALL
SELECT id, col3 FROM test ),
cte2 AS ( SELECT id, GROUP_CONCAT(val ORDER BY val) FIO
FROM cte1
GROUP BY id )
SELECT test.id, test.col1, test.col2, test.col3, GROUP_CONCAT(cte2_2.id) ids
FROM test
JOIN cte2 cte2_1 USING (id)
JOIN cte2 cte2_2 USING (FIO)
GROUP BY test.id, test.col1, test.col2, test.col3
id col1 col2 col3 ids
1 Иванов Иван Иванович 1,2
2 Иван Иванович Иванов 1,2
3 Петров Сергей Алексеевич 3,4,5
4 Петров Сергей Алексеевич 3,4,5
5 Сергей Алексеевич Петров 3,4,5
DEMOвыполняться будет на MS SQL Server, версию не могу сказать.
SELECT TOP 500 *
FROM [table]
WHERE NOT EXISTS ( SELECT NULL
FROM [Entities]
WHERE [column] = '2'
AND [table1].[Id] = [ClientTableId] )
CREATE TRIGGER tr
ON routes
AFTER INSERT
AS
UPDATE [user]
SET [update] = 1
FROM INSERTED
WHERE id = INSERTED.user_id;