2009-10-06 5 views
0

나는 어떻게 이런 일을하고 도움이 될지 확신합니다. SQL에서는 다음과 같은 쿼리가 필요합니다. 마지막 주문일이 x보다 큰 (미리 정의 된 날짜) 모든 사람들 ID를 가져 오십시오. Max()를 사용해 보았지만 제대로 작동하지 않는 것 같습니다.SQL - 도움말 쓰기 질문하기

감사

+1

그것은 관련 데이터베이스 테이블의 스키마를 설명하는 데 도움이 될 것이다. –

답변

3

을 사용자의 응답 상태를 취할 필요가 있다면? 나는이 함께 작동하도록 왔

Select people_id 
    , Max(Order_Date) as last_order_date 
from orders_table AS O 
Group By people_id 
Having Max(Order_Date) > @CutOff_Date 
3

뭔가 LAST_ORDER_DATE이> '01 -JUN 2009 년 날짜가 처리되는 방법 '

이 RDBMS

0

사용에 따라 PeopleTable FROM

SELECT ID 같은 WHERE 절. 이 더 많은 정보를 필요 물론

MSDN: WHERE Clause

0

... 당신은 주문 테이블에 참여하고 있습니까? 그렇지 않으면 당신은 매우 간단 위의 자녀로, 일부 DDL을 제공하지 않습니다 수 :

SELECT blah1, blah2...FROM MyTable WHERE LastOrderDate > x 

를 더 심각하게 그것이 무엇인지 더 정보없이 ... 간단히

1

: 선택

*을에서 people where lastOrderDate> @InputDate

1

실제로 테이블 구조에 따라 다릅니다. 다음 사용자 테이블에서 "마지막 주문 날짜"열이있는 경우 : 당신이 "주문"테이블에서 찾을해야하는 경우

SELECT UserID 
    FROM Users 
    WHERE LastOrderDate > 'predefined date' 

,이

SELECT DISTINCT UserID 
    FROM Orders 
    WHERE OrderDate > 'predefined date' 

아니면 정확한 수 있습니다 당신은 당신이 마지막 주문 날짜가 무엇인지 모르는 같은데요 ... 다음 계정으로

SELECT DISTINCT O.UserID 
    FROM Orders O 
    INNER JOIN Users U ON U.UserID = O.UserID 
    WHERE O.OrderDate > 'predefined date' 
    AND U.UserStatus = 1 
0
SELECT PERSON_ID FROM ORDERS WHERE ORDER_DATE>DATE('2000-01-01') 
0

:

SELECT PeopleId FROM Orders Group By PeopleId Having Max(OrderDate)<'9/23/2009'