Ich habe eine Reihe von Bestandsdatensätzen.SQL Select mit Ausnahme einiger Bereiche
Ich habe auch eine Reihe von Daten für die, obwohl ich Daten haben könnte, kann ich keine Aktien handeln.
Hier ist die Probe DDL für das Setup:
create table #stock_data
(
symbol varchar (10) NOT NULL,
asof datetime NOT NULL,
price float NOT NULL
)
go
insert into #stock_data values ('IBM', '7/1/09', 100)
insert into #stock_data values ('IBM', '7/2/09', 100)
insert into #stock_data values ('IBM', '7/3/09', 100)
insert into #stock_data values ('IBM', '7/4/09', 100)
insert into #stock_data values ('IBM', '7/5/09', 100)
insert into #stock_data values ('IBM', '7/6/09', 100)
insert into #stock_data values ('IBM', '7/7/09', 100)
insert into #stock_data values ('IBM', '7/8/09', 100)
insert into #stock_data values ('IBM', '7/9/09', 100)
insert into #stock_data values ('MSFT', '7/1/09', 50)
insert into #stock_data values ('MSFT', '7/2/09', 50)
insert into #stock_data values ('MSFT', '7/3/09', 50)
insert into #stock_data values ('MSFT', '7/4/09', 50)
insert into #stock_data values ('MSFT', '7/5/09', 50)
insert into #stock_data values ('MSFT', '7/6/09', 50)
insert into #stock_data values ('MSFT', '7/7/09', 50)
insert into #stock_data values ('MSFT', '7/8/09', 50)
insert into #stock_data values ('MSFT', '7/9/09', 50)
go
create table #exclude_ranges
(
symbol varchar (10) NOT NULL,
asof_start datetime NOT NULL,
asof_end datetime NOT NULL
)
go
insert into #exclude_ranges values ('IBM', '7/2/09', '7/2/09')
insert into #exclude_ranges values ('IBM', '7/6/09', '7/8/09')
insert into #exclude_ranges values ('MSFT', '7/1/09', '7/8/09')
go
Und hier ist die SELECT ich will. Ich weiß, es muß einige clevere Art und Weise, dies zu tun, aber ich kann ganz es nicht herausgefunden .....
select * from #stock_data
join ????
where ????
zurückzukehren
('IBM', '7/1/09', 100)
('IBM', '7/3/09', 100)
('IBM', '7/4/09', 100)
('IBM', '7/5/09', 100)
('IBM', '7/9/09', 100)
('MSFT', '7/9/09', 50)
Also, was Magie geht in die? ??? Blöcke?
Heh, grabe ich die rückwärts Logik dieser Abfrage. Verknüpfen Sie die Ausschlusseinträge in die Einträge, die sie ausschließen, und nehmen Sie dann die verbleibenden Einträge. – Dave
Ehrfürchtig. Äußere Verbindung FTW! –