2009-09-07 1 views
0

Использование SQL Server 2000Как отобразить всю запись по дате мудрый?

Таблица

PersonID Date 

001 11-02-2009 
002 11-02-2009 
003 11-02-2009 
001 12-02-2009 
004 12-02-2009 
005 12-02-2009 
003 13-02-2009 
005 13-02-2009 

Итак, на ...,

Я хочу, чтобы отобразить все PersonId по дате мудрой.

Ожидаемый результат

PersonID Date 

001 11-02-2009 
002 11-02-2009 
003 11-02-2009 
004 11-02-2009 
005 11-02-2009 
001 12-02-2009 
002 12-02-2009 
003 12-02-2009 
004 12-02-2009 
005 12-02-2009 
001 13-02-2009 
002 13-02-2009 
003 13-02-2009 
004 13-02-2009 
005 13-02-2009 

Итак, на ...,

Все PersonId должны появляться по дате мудрой.

Я написал запрос в Access

Запрос

SELECT AllPossibleCardEvents.PersonId FROM ((SELECT p.PersonId, AllDates.CardEventDate FROM (SELECT DISTINCT Date FROM TMP_Cardevent2) AllDates, Tmp_cardevent1 p) AllPossibleCardEvents LEFT OUTER JOIN TMP_cardevent2 Actual ON AllPossibleCardEvents.PersonId = Actual.PersonId AND AllPossibleCardEvents.Date = Actual.Date)) 

Над Access Query работает нормально. Но тот же результат я хочу показать и в SQL.

Как написать запрос в SQL?

Нужна помощь в запросе.

+0

Запрос немного сложный для понимания, и, возможно, SQL имеет очень удобный для чтения способ получить эти результаты (возможно!) .. можете ли вы предоставить информацию о таблицах? – yoda

+0

Выше запроса - PersonID отображается для всех дат. – Gopal

+0

Где id = 005 date = 11-02-2009 – gbn

ответ

0
SELECT A.PersonID, B.Date 
FROM (SELECT DISTINCT PersonID from myTable) A, 
(SELECT DISTINCT Date from myTable) B 

Я не пробовал это. Но он сделает декартовую продукцию.

0

Если я правильно понимаю, вы хотите, чтобы каждое отдельное лицо возвращалось на каждую отчетную дату.

Если да запрос будет

SELECT DISTINCT PersonTable.PersonId, DateTable.Date FROM Table as PersonTable 
CROSS JOIN (SELECT DISTINCT Date FROM Table) AS DateTable 

 Смежные вопросы

  • Нет связанных вопросов^_^