Tôi muốn hiển thị tất cả các ngày giữa hai ngày khi có bất kỳ dữ liệu ngày nào bị thiếu thì sẽ hiển thị số không trong cột val.HIỂN THỊ TẤT CẢ Ngày dữ liệu giữa hai ngày; nếu không có hàng tồn tại cho ngày cụ thể thì hiển thị số không trong tất cả các cột
declare @temp table (
id int identity(1,1) not null,
CDate smalldatetime ,
val int
)
INSERT BÁO CÁO CHO DỮ LIỆU ĐỂ KIỂM TRA
insert into @temp select '10/2/2012',1
insert into @temp select '10/3/2012',1
insert into @temp select '10/5/2012',1
insert into @temp select '10/7/2012',2
insert into @temp select '10/9/2012',2
insert into @temp select '10/10/2012',2
insert into @temp select '10/13/2012',2
insert into @temp select '10/15/2012',2
Lấy hồ sơ giữa ngày đầu tiên của tháng và ngày nay
select * from @temp where CDate between '10/01/2012' AND '10/15/2012'
Như tôi chạy truy vấn này của nó cho tôi tất cả dữ liệu giữa hai ngày này nhưng tôi cũng muốn bao gồm các ngày bị thiếu với val=0
thay vì làm ngày chúng ta có thể làm điều gì đó trong mệnh đề where ... tôi nghĩ rằng chúng ta cũng có thể sử dụng! (NOT) nhà điều hành để tìm ngày mất tích và có thể công đoàn hai - một cho ngày và khác cho ngày thiếu – rahularyansharma
Bạn sẽ cần phải có được ngày từ SOMEWHERE, vậy tại sao không làm cho họ? Có phạm vi ngày ở 2 vị trí trong CTE không khác với mệnh đề WHERE. – RichardTheKiwi
@rahularyansharma, nếu bạn có câu trả lời, hãy đưa câu trả lời vào câu hỏi? – Jodrell