Ich habe zwei Tabelle eins ist Client-Team und eine andere ist CHeader, wenn ich einen Datensatz im Client-Team gebe ich Daten in CHeader (mit Art-Spalte-Daten als "Ini-Test") innerhalb von 7 Tagen. Wenn die 7 Tage verstrichen sind und die Cheader-Daten für diesen Client nicht gesammelt werden, sollte es möglich sein, diese Ergebnisse in der Abfrageausgabe zu erhalten. Hinweis: Nur Kind mit 'Ini Test' ist gültige Daten für diesen Fall. Folgendes ist die Abfrage.Sql Server Wählen Sie Zeilen aus einer Tabelle, wenn kein Datum in einer anderen Tabelle innerhalb des Datumsbereichs
CREATE TABLE [dbo].[ClientTeam](
[ClientTeamID] [int] IDENTITY(1,1) NOT NULL,
[TeamID] [int] NOT NULL,
[ClientID] [int] NOT NULL,
[Startdate] [smalldatetime] NOT NULL,
CONSTRAINT [PK15] PRIMARY KEY NONCLUSTERED
(
[ClientTeamID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 80) ON [PRIMARY]
) ON [PRIMARY]
GO
insert into [ClientTeam] ([TeamID],[ClientID],[Startdate]) values(123,1, GETDATE())
insert into [ClientTeam] ([TeamID],[ClientID],[Startdate]) values(12,23, DATEdiff(day,2,GETDATE()))
insert into [ClientTeam] ([TeamID],[ClientID],[Startdate]) values(12,25, DATEdiff(day,3,GETDATE()))
CREATE TABLE [dbo].[CHeader](
[CHID] [int] IDENTITY(1,1) NOT NULL,
[ClientID] [int] NOT NULL,
[TeamID] [int] NOT NULL,
[CreateDate] [datetime] NOT NULL,
[Kind] [varchar](80) NOT NULL,
CONSTRAINT [PK22] PRIMARY KEY NONCLUSTERED
(
[CHID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 80) ON [PRIMARY]
) ON [PRIMARY]
GO
insert into [CHeader] ([ClientID],[TeamID],[CreateDate],[Kind]) values(1,123,DATEdiff(HOUR,4,GETDATE()),'Ini Test')
insert into [CHeader] ([ClientID],[TeamID],[CreateDate],[Kind]) values(5,123,DATEdiff(HOUR,4,GETDATE()),'Gen Test')
insert into [CHeader] ([ClientID],[TeamID],[CreateDate],[Kind]) values(6,126,DATEdiff(HOUR,4,GETDATE()),'XYZ')
insert into [CHeader] ([ClientID],[TeamID],[CreateDate],[Kind]) values(23,126,DATEdiff(HOUR,5,GETDATE()),'XYZ')
Ja, aber Ihre Antwort prüft nicht, ob die Startdatum von clientTeam +7 ist> currentdatetime. Ich sollte in der Lage sein, innerhalb von 7 Tagen nach Clienten Startdatum –
die Kunden whoes Daten nicht in klinischen Header für Art "Ini Test" zu bekommen, Nun, Sie können das selbst tun, war Ihre Erklärung nicht sehr klar. Denken Sie darüber nach, die Funktion DATEADD für CreateDate zu verwenden und sie mit GETDATE() zu vergleichen. – Ryan