Tenho 2 tabelas onde preciso listar apenas registros que sigam os seguintes requisitos:
1-Registros tem que ter a mesma data, duração e número discado (Calls.Start, Calls.Duration, Calls.PhoneNo)
2-Registros tem que ter valores diferentes (CallsInfo.Cost)
É possível este tipo de consulta? Já tentei fazer isso de várias formas, mas não estou conseguindo.
Segue as tabelas:
CREATE TABLE [dbo].[Calls] (
[CallID] bigint IDENTITY(1, 1) NOT NULL,
[Start] datetime NOT NULL,
[Duration] int NOT NULL,
[DeviceID] int NOT NULL,
[ReferenceID] int NOT NULL,
[DataSourceID] int NOT NULL,
[CallTypeID] smallint NOT NULL,
[PhoneNo] nvarchar(30) COLLATE Latin1_General_CI_AS NULL,
[OriginalPhoneNo] nvarchar(30) COLLATE Latin1_General_CI_AS NULL,
[StartTimeInSeconds] int NULL,
[Ext_DeviceID] int NULL,
[TransferExt_DeviceID] int NULL,
[TransferInExt_DeviceID] int NULL,
[DestExt_DeviceID] int NULL,
[TrunkID] int NULL,
[Trunk2ID] int NULL,
[ContextID] int NULL,
[ReferenceID2] int NULL,
[TLRStatus] smallint NULL,
[TLRDeleted] bit NULL,
[Deleted] tinyint CONSTRAINT [DF_Calls_Deleted] DEFAULT 0 NULL,
[Arrived] datetime NULL,
[MaskDuration] nvarchar(30) COLLATE Latin1_General_CI_AS NULL,
[MaskPhoneNo] nvarchar(30) COLLATE Latin1_General_CI_AS NULL,
[SessionID] int NULL,
CONSTRAINT [Calls_PK] PRIMARY KEY CLUSTERED ([CallID]),
CONSTRAINT [FK_Calls_CallTypes] FOREIGN KEY ([CallTypeID])
REFERENCES [dbo].[CallTypes] ([CallTypeID])
ON UPDATE NO ACTION
ON DELETE NO ACTION
)
ON [PRIMARY]
GO
CREATE TABLE [dbo].[CallsInfo] (
[CallID] bigint NOT NULL,
[BP] char(1) COLLATE Latin1_General_CI_AS NULL,
[CallCategoryID] int NULL,
[LocationID] int NULL,
[CityLocationID] int NULL,
[ServiceID] int NULL,
[Cost] money NULL,
[OriginalCost] money NULL,
[Price] money NULL,
[ResponseTime] int NULL,
[ResultCode] smallint NULL,
[PBXServiceIdentity] bigint NULL,
[Units] int NULL,
[QueueTime] int NULL,
[DataSourceCost] money NULL,
[DataSourcePrice] money NULL,
[WasPriced] bit NULL,
[CountryID] int NULL,
[RawDataID] int NULL,
[TlrOriginCallID] int NULL,
[TlrSequenceNumber] int NULL,
[CostPlanID] int NULL,
[MaskLocation] nvarchar(30) COLLATE Latin1_General_CI_AS NULL,
[CostPrecision] real NULL,
[PricePrecision] real NULL,
[DataStatusTypeID] int CONSTRAINT [DF_CallsInfo_DataStatus] DEFAULT 1 NOT NULL,
[CDRID] bigint NULL,
[OriginalDuration] int NULL,
[BHours] bit CONSTRAINT [DF_CallsInfo_BHours] DEFAULT 0 NOT NULL,
[AccountCodeID] int NULL,
[Descricao da chamada] nvarchar(40) COLLATE Latin1_General_CI_AS NULL,
[Cidade de destino] nvarchar(25) COLLATE Latin1_General_CI_AS NULL,
[Codigo DDD] nvarchar(3) COLLATE Latin1_General_CI_AS NULL,
[Tipo da chamada] nvarchar(20) COLLATE Latin1_General_CI_AS NULL,
[Tronco] nvarchar(2) COLLATE Latin1_General_CI_AS NULL,
[MS DE REFERNCIA] nvarchar(4) COLLATE Latin1_General_CI_AS NULL,
CONSTRAINT [PK_CallsInfo] PRIMARY KEY CLUSTERED ([CallID]),
CONSTRAINT [FK_CallsInfo_Calls] FOREIGN KEY ([CallID])
REFERENCES [dbo].[Calls] ([CallID])
ON UPDATE NO ACTION
ON DELETE NO ACTION
)
ON [PRIMARY]
GO
Pergunta
Marco André
Olá pessoal,
Tenho 2 tabelas onde preciso listar apenas registros que sigam os seguintes requisitos:
1-Registros tem que ter a mesma data, duração e número discado (Calls.Start, Calls.Duration, Calls.PhoneNo)
2-Registros tem que ter valores diferentes (CallsInfo.Cost)
É possível este tipo de consulta? Já tentei fazer isso de várias formas, mas não estou conseguindo.
Segue as tabelas:
Agradeço antecipadamente,
Muito obrigado,
[]s, Marco
Editado por kuroiAdicionar tag CODE
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.