CREATE OR ALTER PROCEDURE EncyclNewPageGroup
AS
DECLARE @Temp TABLE( Alpha VARCHAR(100), [Path] VARCHAR(100), IDFrom INT, IDTo INT)
INSERT INTO @Temp EXECUTE EncyclNewPage
SELECT DISTINCT [Path], IDFrom, IDTo FROM @Temp WHERE NOT IDFrom IS NULL ORDER BY 1
--
GO
The powershell thing worked! Thank you so much!
CREATE TABLE TestGETDATE (
[ID] [int] IDENTITY(1,1) NOT NULL PRIMARY KEY,
[Value] VARCHAR (50) NULL,
[Data_create] DATETIME NULL DEFAULT GETDATE(),
[Updated_at] DATETIME NULL)
GO
CREATE OR ALTER TRIGGER TestGETDATEUpdate ON TestGETDATE FOR UPDATE AS
BEGIN
UPDATE TestGETDATE
SET Updated_at = GETDATE()
WHERE ID IN ( SELECT ID FROM Inserted )
END
GO
код короче и без тире
SELECT LEFT(REPLACE(CONVERT(varchar(255), NEWID()),'-',''),20)
SELECT dbo.IntToAlpha( 1136572 )
cmrii
CREATE OR ALTER FUNCTION dbo.IntToAlpha ( @IN INT ) RETURNS VARCHAR(16)
WITH EXECUTE AS CALLER
AS
BEGIN
DECLARE @ST VARCHAR(16) = ''
WHILE @IN > 0 BEGIN
SET @ST = CHAR((@IN % 26) + 97 ) + @ST
SET @IN = @IN / 26
END
RETURN @ST
END
--
GO
CREATE TABLE TestGUID (
ID UNIQUEIDENTIFIER NOT NULL PRIMARY KEY DEFAULT NEWID(),
Name VARCHAR (50) NOT NULL )
I want to display count of children for every node in the tree.Дочерних, а не всех! Все приведённые решения неверные поскольку считают и сам узел.
-- Обновление минимальным кодом:
UPDATE Human
SET car_id = UniqCar.min_id
FROM Human
INNER JOIN Car ON Human.car_id = Car.car_id
INNER JOIN (SELECT MIN(car_id) AS min_id, model
FROM Car AS CarMini
GROUP BY model) AS UniqCar ON UniqCar.model = Car.model
-- Удаление лишних машин:
DELETE FROM Car
WHERE Car.car_id <> (SELECT MIN(CarOff.car_id) FROM Car AS CarOff WHERE CarOff.model = Car.model)
LEFT JOIN Accessories on Orders.AccessorieCode1 = Accessories.AccessorieCode
OR Orders.AccessorieCode2 = Accessories.AccessorieCode
OR Orders.AccessorieCode3 = Accessories.AccessorieCode
Это соединение повторяется 3 раза (для каждого поля).LEFT JOIN Services on Orders.ServiceCode1 = Services.ServiceCode
OR Orders.ServiceCode2 = Services.ServiceCode
OR Orders.ServiceCode3 = Services.ServiceCode
И ещё 3 раза. Уже 3 * 3 = 9 раз, например, первые строки.SELECT *
FROM Orders
LEFT OUTER JOIN Accessories AS A1 ON Orders.AccessorieCode1 = A1.AccessorieCode
LEFT OUTER JOIN Accessories AS A2 ON Orders.AccessorieCode2 = A2.AccessorieCode
LEFT OUTER JOIN Accessories AS A3 ON Orders.AccessorieCode3 = A3.AccessorieCode