2013-05-08 1 views
0

테이블 DTTransaction이 있으며 TransactionID가있는 DTHotelTransaction은 이전 및 외래 키의 기본 키입니다. SQL 테이블의 모든 기존 날짜에 대한 SQL 결과 열

Columns in DTTransaction :machinename(varchar),BookedOn(datetime),TransactionID(int) 
Columns in DTHotelTransaction :HCOMCID(int) ,TransactionID 

요구 사항

: DTTransaction의 모든 BookedOn 값에 대한

, 나는 컴퓨터 이름과이 (415428,415429,415430,415431,415432) HCOMCID에 대한 컴퓨터 이름의 수를 원한다.

select DTTransaction.machinename,count(DTTransaction.machinename) from DTTransaction 
join DTHotelReservation on DTTransaction.TransactionID =  
DTHotelReservation.TransactionID 
and DTHotelReservation.HCOMCID in (
415428, 
415429, 
415430, 
415431, 
415432) 
where convert(varchar(10),BookedOn,101)='04/10/2013' 
group by DTTransaction.machinename 

을하지만 특정 date.I 기존의 모든 BookedOn 값의 수를 싶어에만 제공됩니다

내가 할 노력하고 있어요.

미리 감사드립니다. 모든 날짜의 합을 원하는 경우에

답변

1

이 바로 where 절 제거 : 당신이 날짜를 기준으로 결과를 원하는 경우에

select DTTransaction.machinename, count(DTTransaction.machinename) 
from DTTransaction join 
    DTHotelReservation 
    on DTTransaction.TransactionID = DTHotelReservation.TransactionID and 
     DTHotelReservation.HCOMCID in (415428, 415429, 415430, 415431, 415432) 
group by DTTransaction.machinename 

을, 다음을 포함에 group by 그. 결과는 각각의 컴퓨터 이름에서 날짜 순서대로 있도록 예를 들어,

select DTTransaction.machinename, convert(varchar(10),BookedOn,101), count(DTTransaction.machinename) 
from DTTransaction join 
    DTHotelReservation 
    on DTTransaction.TransactionID = DTHotelReservation.TransactionID and 
     DTHotelReservation.HCOMCID in (415428, 415429, 415430, 415431, 415432) 
group by DTTransaction.machinename, convert(varchar(10),BookedOn,101) 
order by 1, MAX(BookedOn) 

나는, order by 조항을 포함했다.

+0

감사합니다. –

관련 문제