/ / Comment afficher tous les enregistrements par date? - sql, sql-server, tsql, sql-server-2000

Comment afficher tous les enregistrements par date? - sql, sql-server, tsql, sql-server-2000

Utilisation de SQL Server 2000

Table

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

Bientôt…,

Je veux afficher tous les Personid par Date sage.

Production attendue

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

Bientôt…,

Tous les Personid doivent apparaître par date.

J'ai écrit une requête dans Access

Question

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) )

La requête d'accès ci-dessus fonctionne correctement. Mais le même résultat que je veux montrer en SQL aussi.

Comment écrire une requête en SQL?

Besoin d'aide de requête.

Réponses:

0 pour la réponse № 1
SELECT A.PersonID, B.Date
FROM (SELECT DISTINCT PersonID from myTable) A,
(SELECT DISTINCT Date from myTable) B

Je n'ai pas essayé ça. Mais, cela fera un produit cartésien.


0 pour la réponse № 2

Si je comprends bien, vous voulez que chaque personne distincte soit renvoyée pour chaque date distincte.

Si oui, la requête serait

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