Bonjour,
Dans une table j'ai des enregistrement suivants (exemple) :
Text Date1 Date2 Date3
A 01.01.02
A 05.01.02
A 15.02.02
A 20.03.02
B 23.03.02
B 26.03.02
B 25.05.02
C 30.05.02
C 15.02.02
C 05.06.02
E je désire avois les données de cette manière
Text Date1 Date2 Date3
A 20.03.02 05.01.02 15.02.02
B 26.03.02 25.05.02
C 05.06.02 15.02.02
Est-ce possible ?
Daniel Imesch
Bonjour,
Dans une table j'ai des enregistrement suivants (exemple) :
Text Date1 Date2 Date3
A 01.01.02
A 05.01.02
A 15.02.02
A 20.03.02
B 23.03.02
B 26.03.02
B 25.05.02
C 30.05.02
C 15.02.02
C 05.06.02
E je désire avois les données de cette manière
Text Date1 Date2 Date3
A 20.03.02 05.01.02 15.02.02
B 26.03.02 25.05.02
C 05.06.02 15.02.02
Est-ce possible ?
Daniel Imesch
Bonjour,
Dans une table j'ai des enregistrement suivants (exemple) :
Text Date1 Date2 Date3
A 01.01.02
A 05.01.02
A 15.02.02
A 20.03.02
B 23.03.02
B 26.03.02
B 25.05.02
C 30.05.02
C 15.02.02
C 05.06.02
E je désire avois les données de cette manière
Text Date1 Date2 Date3
A 20.03.02 05.01.02 15.02.02
B 26.03.02 25.05.02
C 05.06.02 15.02.02
Est-ce possible ?
Daniel Imesch
Bonjour,
Dans une table j'ai des enregistrement suivants (exemple) :
Text Date1 Date2 Date3
A 01.01.02
A 05.01.02
A 15.02.02
A 20.03.02
B 23.03.02
B 26.03.02
B 25.05.02
C 30.05.02
C 15.02.02
C 05.06.02
E je désire avois les données de cette manière
Text Date1 Date2 Date3
A 20.03.02 05.01.02 15.02.02
B 26.03.02 25.05.02
C 05.06.02 15.02.02
Est-ce possible ?
Daniel Imesch
Bonjour,
Dans une table j'ai des enregistrement suivants (exemple) :
Text Date1 Date2 Date3
A 01.01.02
A 05.01.02
A 15.02.02
A 20.03.02
B 23.03.02
B 26.03.02
B 25.05.02
C 30.05.02
C 15.02.02
C 05.06.02
E je désire avois les données de cette manière
Text Date1 Date2 Date3
A 20.03.02 05.01.02 15.02.02
B 26.03.02 25.05.02
C 05.06.02 15.02.02
Est-ce possible ?
Daniel Imesch
Bonjour,
Dans une table j'ai des enregistrement suivants (exemple) :
Text Date1 Date2 Date3
A 01.01.02
A 05.01.02
A 15.02.02
A 20.03.02
B 23.03.02
B 26.03.02
B 25.05.02
C 30.05.02
C 15.02.02
C 05.06.02
E je désire avois les données de cette manière
Text Date1 Date2 Date3
A 20.03.02 05.01.02 15.02.02
B 26.03.02 25.05.02
C 05.06.02 15.02.02
Est-ce possible ?
Daniel Imesch
-----Message d'origine-----
Bonjour,
Dans une table j'ai des enregistrement suivants
Text Date1 Date2 Date3
A 01.01.02
A 05.01.02
A 15.02.02
A 20.03.02
B 23.03.02
B 26.03.02
B 25.05.02
C 30.05.02
C 15.02.02
C 05.06.02
E je désire avois les données de cette manière
Text Date1 Date2 Date3
A 20.03.02 05.01.02 15.02.02
B 26.03.02 25.05.02
C 05.06.02 15.02.02
Est-ce possible ?
Daniel Imesch
.
-----Message d'origine-----
Bonjour,
Dans une table j'ai des enregistrement suivants
Text Date1 Date2 Date3
A 01.01.02
A 05.01.02
A 15.02.02
A 20.03.02
B 23.03.02
B 26.03.02
B 25.05.02
C 30.05.02
C 15.02.02
C 05.06.02
E je désire avois les données de cette manière
Text Date1 Date2 Date3
A 20.03.02 05.01.02 15.02.02
B 26.03.02 25.05.02
C 05.06.02 15.02.02
Est-ce possible ?
Daniel Imesch
.
-----Message d'origine-----
Bonjour,
Dans une table j'ai des enregistrement suivants
Text Date1 Date2 Date3
A 01.01.02
A 05.01.02
A 15.02.02
A 20.03.02
B 23.03.02
B 26.03.02
B 25.05.02
C 30.05.02
C 15.02.02
C 05.06.02
E je désire avois les données de cette manière
Text Date1 Date2 Date3
A 20.03.02 05.01.02 15.02.02
B 26.03.02 25.05.02
C 05.06.02 15.02.02
Est-ce possible ?
Daniel Imesch
.
Daniel,
select
[Text],
max(Date1) as Date1,
max(Date2) as Date2,
max(Date3) as Date3
from T
group by [Text]
Steve Kass
Drew University
Daniel Imesch wrote:
>Bonjour,
>Dans une table j'ai des enregistrement suivants (exemple) :
>
>Text Date1 Date2 Date3
>A 01.01.02
>A 05.01.02
>A 15.02.02
>A 20.03.02
>B 23.03.02
>B 26.03.02
>B 25.05.02
>C 30.05.02
>C 15.02.02
>C 05.06.02
>
>E je désire avois les données de cette manière
>
>Text Date1 Date2 Date3
>A 20.03.02 05.01.02 15.02.02
>B 26.03.02 25.05.02
>C 05.06.02 15.02.02
>
>Est-ce possible ?
>
>Daniel Imesch
>
>
>
>
Daniel,
select
[Text],
max(Date1) as Date1,
max(Date2) as Date2,
max(Date3) as Date3
from T
group by [Text]
Steve Kass
Drew University
Daniel Imesch wrote:
>Bonjour,
>Dans une table j'ai des enregistrement suivants (exemple) :
>
>Text Date1 Date2 Date3
>A 01.01.02
>A 05.01.02
>A 15.02.02
>A 20.03.02
>B 23.03.02
>B 26.03.02
>B 25.05.02
>C 30.05.02
>C 15.02.02
>C 05.06.02
>
>E je désire avois les données de cette manière
>
>Text Date1 Date2 Date3
>A 20.03.02 05.01.02 15.02.02
>B 26.03.02 25.05.02
>C 05.06.02 15.02.02
>
>Est-ce possible ?
>
>Daniel Imesch
>
>
>
>
Daniel,
select
[Text],
max(Date1) as Date1,
max(Date2) as Date2,
max(Date3) as Date3
from T
group by [Text]
Steve Kass
Drew University
Daniel Imesch wrote:
>Bonjour,
>Dans une table j'ai des enregistrement suivants (exemple) :
>
>Text Date1 Date2 Date3
>A 01.01.02
>A 05.01.02
>A 15.02.02
>A 20.03.02
>B 23.03.02
>B 26.03.02
>B 25.05.02
>C 30.05.02
>C 15.02.02
>C 05.06.02
>
>E je désire avois les données de cette manière
>
>Text Date1 Date2 Date3
>A 20.03.02 05.01.02 15.02.02
>B 26.03.02 25.05.02
>C 05.06.02 15.02.02
>
>Est-ce possible ?
>
>Daniel Imesch
>
>
>
>
Bonjour,
d'abord je voudrais pousser un coup de gueule :
C'EST TRÈS CHIANT D'AIDER DES GENS QUI NE FONT PAS L'EFFFORT
DE POSTER LA DÉFINITION DE LEURS TABLES ET DE LEUR JEU DE DONNÉES
SOUS FORME D'ORDRE SQL.
C'est une marque de politesse que de le faire, pour se faire aider !!!
Ensuite, la solution :
CREATE TABLE MaTable (Text CHAR(1), Date1 DATETIME, Date2 DATETIME,
INSERT INTO MaTable VALUES ('A', '01.01.02', NULL, NULL )
INSERT INTO MaTable VALUES ('A', NULL, '05.01.02', NULL )
INSERT INTO MaTable VALUES ('A', NULL, NULL, '15.02.02')
INSERT INTO MaTable VALUES ('A', '20.03.02', NULL, NULL )
INSERT INTO MaTable VALUES ('B', '23.03.02', NULL, NULL )
INSERT INTO MaTable VALUES ('B', '26.03.02', NULL, NULL )
INSERT INTO MaTable VALUES ('B', NULL, '25.05.02', NULL )
INSERT INTO MaTable VALUES ('C', NULL, '30.05.02', NULL )
INSERT INTO MaTable VALUES ('C', NULL, NULL, '15.02.02')
INSERT INTO MaTable VALUES ('C', NULL, '05.06.02', NULL )
La prochaine fois essaye au moins de faire cette partie là !
SELECT Text, CAST(NULLIF(SUM(D1), 0) AS DATETIME) Date1,
CAST(NULLIF(SUM(D2), 0) AS DATETIME) Date2,
CAST(NULLIF(SUM(D3), 0) AS DATETIME) Date3
FROM
(
SELECT Text, CAST(Max(Date1) AS FLOAT) AS D1, 0 AS D2, 0 AS D3
FROM MaTable
GROUP BY Text
UNION
SELECT Text, 0, CAST(Max(Date2) AS FLOAT), 0
FROM MaTable
GROUP BY Text
UNION
SELECT Text, 0, 0, CAST(Max(Date3) AS FLOAT)
FROM MaTable
GROUP BY Text
) T
GROUP BY Text
Text Date1 Date2 Date3
---- ---------- ---------- ----------
A 2002-03-20 2002-01-05 2002-02-15
B 2002-03-26 2002-05-25 NULL
C NULL 2002-06-05 2002-02-15
(3 ligne(s) affectée(s))
Avertissement : la valeur nulle est éliminée par un agrégat ou par une
A +
--
Frédéric BROUARD, MVP MS SQL Server. Expert Langage SQL / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************
Daniel Imesch a écrit:
> Bonjour,
> Dans une table j'ai des enregistrement suivants (exemple) :
>
> Text Date1 Date2 Date3
> A 01.01.02
> A 05.01.02
> A 15.02.02
> A 20.03.02
> B 23.03.02
> B 26.03.02
> B 25.05.02
> C 30.05.02
> C 15.02.02
> C 05.06.02
>
> E je désire avois les données de cette manière
>
> Text Date1 Date2 Date3
> A 20.03.02 05.01.02 15.02.02
> B 26.03.02 25.05.02
> C 05.06.02 15.02.02
>
> Est-ce possible ?
>
> Daniel Imesch
>
>
Bonjour,
d'abord je voudrais pousser un coup de gueule :
C'EST TRÈS CHIANT D'AIDER DES GENS QUI NE FONT PAS L'EFFFORT
DE POSTER LA DÉFINITION DE LEURS TABLES ET DE LEUR JEU DE DONNÉES
SOUS FORME D'ORDRE SQL.
C'est une marque de politesse que de le faire, pour se faire aider !!!
Ensuite, la solution :
CREATE TABLE MaTable (Text CHAR(1), Date1 DATETIME, Date2 DATETIME,
INSERT INTO MaTable VALUES ('A', '01.01.02', NULL, NULL )
INSERT INTO MaTable VALUES ('A', NULL, '05.01.02', NULL )
INSERT INTO MaTable VALUES ('A', NULL, NULL, '15.02.02')
INSERT INTO MaTable VALUES ('A', '20.03.02', NULL, NULL )
INSERT INTO MaTable VALUES ('B', '23.03.02', NULL, NULL )
INSERT INTO MaTable VALUES ('B', '26.03.02', NULL, NULL )
INSERT INTO MaTable VALUES ('B', NULL, '25.05.02', NULL )
INSERT INTO MaTable VALUES ('C', NULL, '30.05.02', NULL )
INSERT INTO MaTable VALUES ('C', NULL, NULL, '15.02.02')
INSERT INTO MaTable VALUES ('C', NULL, '05.06.02', NULL )
La prochaine fois essaye au moins de faire cette partie là !
SELECT Text, CAST(NULLIF(SUM(D1), 0) AS DATETIME) Date1,
CAST(NULLIF(SUM(D2), 0) AS DATETIME) Date2,
CAST(NULLIF(SUM(D3), 0) AS DATETIME) Date3
FROM
(
SELECT Text, CAST(Max(Date1) AS FLOAT) AS D1, 0 AS D2, 0 AS D3
FROM MaTable
GROUP BY Text
UNION
SELECT Text, 0, CAST(Max(Date2) AS FLOAT), 0
FROM MaTable
GROUP BY Text
UNION
SELECT Text, 0, 0, CAST(Max(Date3) AS FLOAT)
FROM MaTable
GROUP BY Text
) T
GROUP BY Text
Text Date1 Date2 Date3
---- ---------- ---------- ----------
A 2002-03-20 2002-01-05 2002-02-15
B 2002-03-26 2002-05-25 NULL
C NULL 2002-06-05 2002-02-15
(3 ligne(s) affectée(s))
Avertissement : la valeur nulle est éliminée par un agrégat ou par une
A +
--
Frédéric BROUARD, MVP MS SQL Server. Expert Langage SQL / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************
Daniel Imesch a écrit:
> Bonjour,
> Dans une table j'ai des enregistrement suivants (exemple) :
>
> Text Date1 Date2 Date3
> A 01.01.02
> A 05.01.02
> A 15.02.02
> A 20.03.02
> B 23.03.02
> B 26.03.02
> B 25.05.02
> C 30.05.02
> C 15.02.02
> C 05.06.02
>
> E je désire avois les données de cette manière
>
> Text Date1 Date2 Date3
> A 20.03.02 05.01.02 15.02.02
> B 26.03.02 25.05.02
> C 05.06.02 15.02.02
>
> Est-ce possible ?
>
> Daniel Imesch
>
>
Bonjour,
d'abord je voudrais pousser un coup de gueule :
C'EST TRÈS CHIANT D'AIDER DES GENS QUI NE FONT PAS L'EFFFORT
DE POSTER LA DÉFINITION DE LEURS TABLES ET DE LEUR JEU DE DONNÉES
SOUS FORME D'ORDRE SQL.
C'est une marque de politesse que de le faire, pour se faire aider !!!
Ensuite, la solution :
CREATE TABLE MaTable (Text CHAR(1), Date1 DATETIME, Date2 DATETIME,
INSERT INTO MaTable VALUES ('A', '01.01.02', NULL, NULL )
INSERT INTO MaTable VALUES ('A', NULL, '05.01.02', NULL )
INSERT INTO MaTable VALUES ('A', NULL, NULL, '15.02.02')
INSERT INTO MaTable VALUES ('A', '20.03.02', NULL, NULL )
INSERT INTO MaTable VALUES ('B', '23.03.02', NULL, NULL )
INSERT INTO MaTable VALUES ('B', '26.03.02', NULL, NULL )
INSERT INTO MaTable VALUES ('B', NULL, '25.05.02', NULL )
INSERT INTO MaTable VALUES ('C', NULL, '30.05.02', NULL )
INSERT INTO MaTable VALUES ('C', NULL, NULL, '15.02.02')
INSERT INTO MaTable VALUES ('C', NULL, '05.06.02', NULL )
La prochaine fois essaye au moins de faire cette partie là !
SELECT Text, CAST(NULLIF(SUM(D1), 0) AS DATETIME) Date1,
CAST(NULLIF(SUM(D2), 0) AS DATETIME) Date2,
CAST(NULLIF(SUM(D3), 0) AS DATETIME) Date3
FROM
(
SELECT Text, CAST(Max(Date1) AS FLOAT) AS D1, 0 AS D2, 0 AS D3
FROM MaTable
GROUP BY Text
UNION
SELECT Text, 0, CAST(Max(Date2) AS FLOAT), 0
FROM MaTable
GROUP BY Text
UNION
SELECT Text, 0, 0, CAST(Max(Date3) AS FLOAT)
FROM MaTable
GROUP BY Text
) T
GROUP BY Text
Text Date1 Date2 Date3
---- ---------- ---------- ----------
A 2002-03-20 2002-01-05 2002-02-15
B 2002-03-26 2002-05-25 NULL
C NULL 2002-06-05 2002-02-15
(3 ligne(s) affectée(s))
Avertissement : la valeur nulle est éliminée par un agrégat ou par une
A +
--
Frédéric BROUARD, MVP MS SQL Server. Expert Langage SQL / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************
Daniel Imesch a écrit:
> Bonjour,
> Dans une table j'ai des enregistrement suivants (exemple) :
>
> Text Date1 Date2 Date3
> A 01.01.02
> A 05.01.02
> A 15.02.02
> A 20.03.02
> B 23.03.02
> B 26.03.02
> B 25.05.02
> C 30.05.02
> C 15.02.02
> C 05.06.02
>
> E je désire avois les données de cette manière
>
> Text Date1 Date2 Date3
> A 20.03.02 05.01.02 15.02.02
> B 26.03.02 25.05.02
> C 05.06.02 15.02.02
>
> Est-ce possible ?
>
> Daniel Imesch
>
>