Array
(
)

Delete com join - é possível? Como?

Pjava
   - 05 out 2011

Preciso transformar esse select em um delete. Como eu faço?
#Códigoselect
cli.razao_social as Cliente
, emb.descricao as Embalagem
, datepart(MM, ped.DATA_PEDIDO) as Mes
, datepart(yyyy, ped.DATA_PEDIDO) as Ano
, count(*) as Total
from cliente cli (nolock)
join local loc (nolock) on loc.cod_cliente=cli.cod_cliente
join departamento dep (nolock) on dep.cod_local=loc.cod_local
join caixa cx (nolock) on cx.cod_departamento=dep.cod_departamento
join item_pedido ip (nolock) on ip.cod_item_pedido=cx.cod_item_pedido
join pedido ped (nolock) on ped.cod_pedido=ip.cod_pedido
join embalagem emb (nolock) on emb.cod_embalagem=ip.cod_embalagem
where Cli.Cod_Cliente = 1
group by
cli.razao_social
, emb.descricao
, datepart(MM, ped.DATA_PEDIDO)
, datepart(yyyy, ped.DATA_PEDIDO)
order by
cli.razao_social
, emb.descricao
, datepart(yyyy, ped.DATA_PEDIDO)
, datepart(MM, ped.DATA_PEDIDO)

Pjava
   - 05 out 2011

Sempre que eu posto, não consigo visualizar. Vem tudo em branco. Aí eu posto na resposta, pois acho que vocês também não estão vendo nada como eu.
Preciso transforma o select abaixo em delete
#Códigoselect
cli.razao_social as Cliente
, emb.descricao as Embalagem
, datepart(MM, ped.DATA_PEDIDO) as Mes
, datepart(yyyy, ped.DATA_PEDIDO) as Ano
, count(*) as Total
from cliente cli (nolock)
join local loc (nolock) on loc.cod_cliente=cli.cod_cliente
join departamento dep (nolock) on dep.cod_local=loc.cod_local
join caixa cx (nolock) on cx.cod_departamento=dep.cod_departamento
join item_pedido ip (nolock) on ip.cod_item_pedido=cx.cod_item_pedido
join pedido ped (nolock) on ped.cod_pedido=ip.cod_pedido
join embalagem emb (nolock) on emb.cod_embalagem=ip.cod_embalagem
where Cli.Cod_Cliente = 1
group by
cli.razao_social
, emb.descricao
, datepart(MM, ped.DATA_PEDIDO)
, datepart(yyyy, ped.DATA_PEDIDO)
order by
cli.razao_social
, emb.descricao
, datepart(yyyy, ped.DATA_PEDIDO)
, datepart(MM, ped.DATA_PEDIDO)

Wilson Paulista...!!!
   - 06 out 2011

Você quer apagar quais dados, ou seja, de qual tabela???

João Flávio
   - 18 nov 2011

Olha acho que seria mais ou menos assim:

DELETE * FROM [NOME DA TABELA]
INNER JOINT TABELA 1 ON [NOME DA TABELA].[CAMPO]=TABELA 1.CAMPO
WHERE TABELA 1.CAMPO=??????

Na verdade é a mesma coisa do SELECT.

Teste primeiro em uma base teste