我有一个名为“ Position”的表,该表有六行,id分别为1,2,3,4,5 y 6。 我使用脚本创建了一个临时表,该表有两行,其中的行来自“位置”,分别只有id为5 y 6。
我需要做的是创建一个新的临时表,但只有它具有ID为1,2,3 y 4的'Position'中的行。
有人知道怎么做吗?
我尝试过:
SELECT p.[Id] as idPosicion
,[CantidadMaximaApilados]
,[IdZona]
into #PosicionesRemover
FROM [Posicion] p -- this is the table with id's 1,2,3,4,5 y 6
inner join View_ContenedoresEnStock v ON p.Id = v.posicionId
select * from #PosicionesRemover -- this is the temporary table that only has id's 5 y 6
SELECT P.Id, P.CantidadMaximaApilados, P.IdZona INTO #PosicionesNoOcupadas FROM Posicion P
left join #PosicionesRemover R ON R.idPosicion = P.Id -- here is when i try to only left rows with id's 1,2,3 y 4
答案 0 :(得分:2)
如果您确实需要创建临时表:
SELECT p.[Id] as idPosicion
,[CantidadMaximaApilados]
,[IdZona]
INTO #PosicionesRemover
FROM [Posicion] p -- this is the table with id's 1,2,3,4,5 y 6
INNER JOIN View_ContenedoresEnStock v ON p.Id = v.posicionId
SELECT * FROM #PosicionesRemover
SELECT P.Id, P.CantidadMaximaApilados, P.IdZona
INTO #PosicionesNoOcupadas
FROM [Posicion] P
LEFT JOIN #PosicionesRemover R ON R.idPosicion = P.Id
WHERE R.idPosicion IS NULL
否则,您可以这样做:
SELECT P.Id, P.CantidadMaximaApilados, P.IdZona
INTO #PosicionesNoOcupadas
FROM Posicion P
LEFT JOIN View_ContenedoresEnStock v ON P.Id = v.posicionId
WHERE v.posicionId IS NULL
答案 1 :(得分:0)
最好在一个语句中完成
SELECT p.[Id] as idPosicion
,[CantidadMaximaApilados]
,[IdZona]
into #PosicionesRemoverNEW
FROM [Posicion] p -- this is the table with id's 1,2,3,4,5 y 6
inner join View_ContenedoresEnStock v ON p.Id = v.posicionId
WHERE p.[Id]<5