Datos Huerfanos

20/07/2007 - 19:02 por Edwin Rivera | Informe spam
CREATE TABLE [dbo].[Administrativo] (
[CodAdministrativo] [int] NOT NULL ,
[CodPrincipal] [int] NULL ,
[Fingreso] [smalldatetime] NULL ,
[Area] [nvarchar] (50) COLLATE Modern_Spanish_CI_AS NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[Docente] (
[CodDocente] [int] NOT NULL ,
[CodPrincipal] [int] NULL ,
[FIngreso] [smalldatetime] NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[Principal] (
[CodPrincipal] [int] NOT NULL ,
[Nombre] [nvarchar] (50) COLLATE Modern_Spanish_CI_AS NULL ,
[Apellido] [nvarchar] (50) COLLATE Modern_Spanish_CI_AS NULL ,
[FNaci] [smalldatetime] NULL
) ON [PRIMARY]
GO
select * from principal
insert into principal values (1,'Cesar','Lopez Castillo','12/12/2005')
insert into principal values (2,'Maria','Suares Quispe','21/02/1985')
insert into principal values (3,'Ana','Castro Rivera','22/08/1985')
insert into principal values (4,'Luis Antonio','Gora Aparcana','25/07/1975')
insert into principal values (5,'Deysi','Quiñonez Soto','30/11/1985')
insert into principal values (6,'Raul','Cartolin Garcia','30/11/1985')
insert into principal values (7,'Giovanna','Ricse Villanueva','30/11/1985')
insert into principal values (8,'Edwin','Tarachea Huaroc','30/11/1985')
insert into principal values (9,'Zaida','Calzada Lopez','30/11/1985')
select * from administrativo
insert into administrativo values (1,1,'20/07/2007','Administrador')
insert into administrativo values (2,8,'20/07/2007','Director')
insert into administrativo values (3,3,'20/07/2007','SubDirector')
select * from Docente
insert into Docente values (1,8,'20/07/2007')
insert into Docente values (2,4,'20/07/2007')
insert into Docente values (3,3,'20/07/2007')
dos otras tablas(docente y administrativo),
encontrarse
tabla

Preguntas similare

Leer las respuestas

#1 Javier Loria
20/07/2007 - 23:55 | Informe spam
Hola Edwin:
Gracias por el código y por exponer el problema tan claramente.
El siguiente codigo te da la lista de lineas solicitadas:
==select principal.*
from principal
left join administrativo
on principal.CodPrincipal=administrativo.CodPrincipal
left join Docente
on principal.CodPrincipal=Docente.CodPrincipal
where administrativo.CodPrincipal is null
and Docente.CodPrincipal is null
== El siguiente las borra:
==delete principal
from principal
left join administrativo
on principal.CodPrincipal=administrativo.CodPrincipal
left join Docente
on principal.CodPrincipal=Docente.CodPrincipal
where administrativo.CodPrincipal is null
and Docente.CodPrincipal is null
== Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.
"Edwin Rivera" wrote in message
news:
CREATE TABLE [dbo].[Administrativo] (
[CodAdministrativo] [int] NOT NULL ,
[CodPrincipal] [int] NULL ,
[Fingreso] [smalldatetime] NULL ,
[Area] [nvarchar] (50) COLLATE Modern_Spanish_CI_AS NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[Docente] (
[CodDocente] [int] NOT NULL ,
[CodPrincipal] [int] NULL ,
[FIngreso] [smalldatetime] NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[Principal] (
[CodPrincipal] [int] NOT NULL ,
[Nombre] [nvarchar] (50) COLLATE Modern_Spanish_CI_AS NULL ,
[Apellido] [nvarchar] (50) COLLATE Modern_Spanish_CI_AS NULL ,
[FNaci] [smalldatetime] NULL
) ON [PRIMARY]
GO
select * from principal
insert into principal values (1,'Cesar','Lopez Castillo','12/12/2005')
insert into principal values (2,'Maria','Suares Quispe','21/02/1985')
insert into principal values (3,'Ana','Castro Rivera','22/08/1985')
insert into principal values (4,'Luis Antonio','Gora
Aparcana','25/07/1975')
insert into principal values (5,'Deysi','Quiñonez Soto','30/11/1985')
insert into principal values (6,'Raul','Cartolin Garcia','30/11/1985')
insert into principal values (7,'Giovanna','Ricse
Villanueva','30/11/1985')
insert into principal values (8,'Edwin','Tarachea Huaroc','30/11/1985')
insert into principal values (9,'Zaida','Calzada Lopez','30/11/1985')
select * from administrativo
insert into administrativo values (1,1,'20/07/2007','Administrador')
insert into administrativo values (2,8,'20/07/2007','Director')
insert into administrativo values (3,3,'20/07/2007','SubDirector')
select * from Docente
insert into Docente values (1,8,'20/07/2007')
insert into Docente values (2,4,'20/07/2007')
insert into Docente values (3,3,'20/07/2007')
los
dos otras tablas(docente y administrativo),
tablas
encontrarse
tabla
Respuesta Responder a este mensaje
#2 Edwin Rivera
21/07/2007 - 17:42 | Informe spam
Hola Javier gracias por enviarme el codigo, bueno tengo mas codigos
interesntess y podemos compartir e intercambiar o mejorar los codigos que
tenemos, bueno mi correo es a los sistemas en que
desarrollo es el visual studio.net 2003
"Javier Loria" wrote:

Hola Edwin:
Gracias por el código y por exponer el problema tan claramente.
El siguiente codigo te da la lista de lineas solicitadas:
==> select principal.*
from principal
left join administrativo
on principal.CodPrincipal=administrativo.CodPrincipal
left join Docente
on principal.CodPrincipal=Docente.CodPrincipal
where administrativo.CodPrincipal is null
and Docente.CodPrincipal is null
==> El siguiente las borra:
==> delete principal
from principal
left join administrativo
on principal.CodPrincipal=administrativo.CodPrincipal
left join Docente
on principal.CodPrincipal=Docente.CodPrincipal
where administrativo.CodPrincipal is null
and Docente.CodPrincipal is null
==> Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.
"Edwin Rivera" wrote in message
news:
> CREATE TABLE [dbo].[Administrativo] (
> [CodAdministrativo] [int] NOT NULL ,
> [CodPrincipal] [int] NULL ,
> [Fingreso] [smalldatetime] NULL ,
> [Area] [nvarchar] (50) COLLATE Modern_Spanish_CI_AS NULL
> ) ON [PRIMARY]
> GO
> CREATE TABLE [dbo].[Docente] (
> [CodDocente] [int] NOT NULL ,
> [CodPrincipal] [int] NULL ,
> [FIngreso] [smalldatetime] NULL
> ) ON [PRIMARY]
> GO
> CREATE TABLE [dbo].[Principal] (
> [CodPrincipal] [int] NOT NULL ,
> [Nombre] [nvarchar] (50) COLLATE Modern_Spanish_CI_AS NULL ,
> [Apellido] [nvarchar] (50) COLLATE Modern_Spanish_CI_AS NULL ,
> [FNaci] [smalldatetime] NULL
> ) ON [PRIMARY]
> GO
> select * from principal
> insert into principal values (1,'Cesar','Lopez Castillo','12/12/2005')
> insert into principal values (2,'Maria','Suares Quispe','21/02/1985')
> insert into principal values (3,'Ana','Castro Rivera','22/08/1985')
> insert into principal values (4,'Luis Antonio','Gora
> Aparcana','25/07/1975')
> insert into principal values (5,'Deysi','Quiñonez Soto','30/11/1985')
> insert into principal values (6,'Raul','Cartolin Garcia','30/11/1985')
> insert into principal values (7,'Giovanna','Ricse
> Villanueva','30/11/1985')
> insert into principal values (8,'Edwin','Tarachea Huaroc','30/11/1985')
> insert into principal values (9,'Zaida','Calzada Lopez','30/11/1985')
> select * from administrativo
> insert into administrativo values (1,1,'20/07/2007','Administrador')
> insert into administrativo values (2,8,'20/07/2007','Director')
> insert into administrativo values (3,3,'20/07/2007','SubDirector')
> select * from Docente
> insert into Docente values (1,8,'20/07/2007')
> insert into Docente values (2,4,'20/07/2007')
> insert into Docente values (3,3,'20/07/2007')
> los
> dos otras tablas(docente y administrativo),
> tablas
> encontrarse
> tabla

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida