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
 

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

Preguntas similares