Array
(
)

Delete com join - é possível? Como?

Pjava
   - 05 out 2011

Preciso transformar esse select em um delete. Como eu faço?
#Código

select
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ódigo

select
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