1

假设我有两个Dataset ds1 & ds2都持有来自两个不同的数据Tables

Sql1 = "Select sTitle, sDate,active,color FROM TABLE1"
Sql2 = "Select eName, eDate FROM TABLE2"

将这两个合并ds1, ds2到第三个数据集的最佳方法是什么,我想从中获取以ds3下列 。EventTitle, BlockedDatesTitle, sDateds1eName, eDateds2

我需要知道一种快速的方法,考虑到每个查询可能最多有 200 行

实际的 sql1 是

;with Calendar as (
    select EventID, EventTitle, EventStartDate, EventEndDate, EventEnumDays,EventStartTime, EventRecurring, EventStartDate as PlannedDate
    ,EventType from EventCalender
    where EventActive = 1 AND LanguageID =1 AND EventBlockDate = 1 AND(  EventStartDate >= GETDATE() OR EventEndDate >= GETDATE() )
    union all
    select EventID, EventTitle, EventStartDate, EventEndDate, EventEnumDays,EventStartTime, EventRecurring, dateadd(dd, 1, PlannedDate)
    ,EventType from Calendar
    where (EventRecurring = 1
        and dateadd(dd, 1, PlannedDate) <= EventEndDate ) OR (EventRecurring = 0
        and dateadd(dd, 1, PlannedDate) <= EventEndDate) 
)
select EventID, EventStartDate, EventEndDate, PlannedDate as [EventDates], Cast(PlannedDate As datetime) +''+ Cast(EventStartTime As time) AS DT, EventTitle
,EventType from Calendar
where (PlannedDate >= GETDATE()) AND ',' + EventEnumDays + ',' like '%,' + cast(datepart(dw, PlannedDate) as char(1)) + ',%'
    AND PlannedDate <= DATEADD(month, 2, GETDATE())
    or EventEnumDays is null
order by EventID, PlannedDate
option (maxrecursion 0)
4

1 回答 1

0

我认为您应该query string使用joinor加入它Union,而不是合并datatable.

于 2012-06-20T07:36:21.793 回答