J'ai une table 'TB1' avec les 2 enregistrements suivants :=20
ID Position Description
-- -------- -----------
1 10 Auto
2 15 Bateau
Bas=E9 sur cette table, quelle est la requ=EAte qui me=20
permettrais d'avoir ce r=E9sultat :=20
Position Description
----- -----------
10 Auto
11 Bateau
12 Bateau
13 Bateau
14 Bateau
15 Bateau
Bas=E9 sur le premier enregistrement de 'TB1',=20
le champ 'Position' est incr=E9ment=E9 jusqu'=E0 la valeur du=20
champ 'Position' du second enregistrement de 'TB1' et ce,=20
en concervant la m=EAme valeur du champ 'Description' du=20
second enregistrement de 'TB1'.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jacques Vuillermet
Le mot "champion" stimule...
Une question importante : la table TB1 pourra-t-elle avoir plus de 2 enregistrements ?
Suivant la réponse, l'algorythme pourrait fortement varié.
Jacques.
"FD" a écrit dans le message de news:1b1b01c3838e$3c6df660$ J'ai une table 'TB1' avec les 2 enregistrements suivants :
ID Position Description -- -------- ----------- 1 10 Auto 2 15 Bateau
Basé sur cette table, quelle est la requête qui me permettrais d'avoir ce résultat :
Position Description ----- ----------- 10 Auto 11 Bateau 12 Bateau 13 Bateau 14 Bateau 15 Bateau
Basé sur le premier enregistrement de 'TB1', le champ 'Position' est incrémenté jusqu'à la valeur du champ 'Position' du second enregistrement de 'TB1' et ce, en concervant la même valeur du champ 'Description' du second enregistrement de 'TB1'.
Merci beaucoup à l'avance !
Le mot "champion" stimule...
Une question importante : la table TB1 pourra-t-elle avoir plus de 2
enregistrements ?
Suivant la réponse, l'algorythme pourrait fortement varié.
Jacques.
"FD" <francois.dumais@raufoss.com> a écrit dans le message de
news:1b1b01c3838e$3c6df660$a001280a@phx.gbl...
J'ai une table 'TB1' avec les 2 enregistrements suivants :
ID Position Description
-- -------- -----------
1 10 Auto
2 15 Bateau
Basé sur cette table, quelle est la requête qui me
permettrais d'avoir ce résultat :
Position Description
----- -----------
10 Auto
11 Bateau
12 Bateau
13 Bateau
14 Bateau
15 Bateau
Basé sur le premier enregistrement de 'TB1',
le champ 'Position' est incrémenté jusqu'à la valeur du
champ 'Position' du second enregistrement de 'TB1' et ce,
en concervant la même valeur du champ 'Description' du
second enregistrement de 'TB1'.
Une question importante : la table TB1 pourra-t-elle avoir plus de 2 enregistrements ?
Suivant la réponse, l'algorythme pourrait fortement varié.
Jacques.
"FD" a écrit dans le message de news:1b1b01c3838e$3c6df660$ J'ai une table 'TB1' avec les 2 enregistrements suivants :
ID Position Description -- -------- ----------- 1 10 Auto 2 15 Bateau
Basé sur cette table, quelle est la requête qui me permettrais d'avoir ce résultat :
Position Description ----- ----------- 10 Auto 11 Bateau 12 Bateau 13 Bateau 14 Bateau 15 Bateau
Basé sur le premier enregistrement de 'TB1', le champ 'Position' est incrémenté jusqu'à la valeur du champ 'Position' du second enregistrement de 'TB1' et ce, en concervant la même valeur du champ 'Description' du second enregistrement de 'TB1'.
Merci beaucoup à l'avance !
FD
Merci pour la rapidité de réponse et tant mieux pour le stimuli.
... disons oui, seulement 2 enregistrements dans la table TB1 !
... j'ai hâte de voir !
-----Message d'origine----- Le mot "champion" stimule...
Une question importante : la table TB1 pourra-t-elle
avoir plus de 2
enregistrements ?
Suivant la réponse, l'algorythme pourrait fortement varié.
Jacques.
"FD" a écrit dans le
message de
news:1b1b01c3838e$3c6df660$ J'ai une table 'TB1' avec les 2 enregistrements suivants :
ID Position Description -- -------- ----------- 1 10 Auto 2 15 Bateau
Basé sur cette table, quelle est la requête qui me permettrais d'avoir ce résultat :
Position Description ----- ----------- 10 Auto 11 Bateau 12 Bateau 13 Bateau 14 Bateau 15 Bateau
Basé sur le premier enregistrement de 'TB1', le champ 'Position' est incrémenté jusqu'à la valeur du champ 'Position' du second enregistrement de 'TB1' et ce, en concervant la même valeur du champ 'Description' du second enregistrement de 'TB1'.
Merci beaucoup à l'avance !
.
Merci pour la rapidité de réponse et tant mieux pour le
stimuli.
... disons oui, seulement 2 enregistrements dans la table
TB1 !
... j'ai hâte de voir !
-----Message d'origine-----
Le mot "champion" stimule...
Une question importante : la table TB1 pourra-t-elle
avoir plus de 2
enregistrements ?
Suivant la réponse, l'algorythme pourrait fortement varié.
Jacques.
"FD" <francois.dumais@raufoss.com> a écrit dans le
message de
news:1b1b01c3838e$3c6df660$a001280a@phx.gbl...
J'ai une table 'TB1' avec les 2 enregistrements suivants :
ID Position Description
-- -------- -----------
1 10 Auto
2 15 Bateau
Basé sur cette table, quelle est la requête qui me
permettrais d'avoir ce résultat :
Position Description
----- -----------
10 Auto
11 Bateau
12 Bateau
13 Bateau
14 Bateau
15 Bateau
Basé sur le premier enregistrement de 'TB1',
le champ 'Position' est incrémenté jusqu'à la valeur du
champ 'Position' du second enregistrement de 'TB1' et ce,
en concervant la même valeur du champ 'Description' du
second enregistrement de 'TB1'.
Merci pour la rapidité de réponse et tant mieux pour le stimuli.
... disons oui, seulement 2 enregistrements dans la table TB1 !
... j'ai hâte de voir !
-----Message d'origine----- Le mot "champion" stimule...
Une question importante : la table TB1 pourra-t-elle
avoir plus de 2
enregistrements ?
Suivant la réponse, l'algorythme pourrait fortement varié.
Jacques.
"FD" a écrit dans le
message de
news:1b1b01c3838e$3c6df660$ J'ai une table 'TB1' avec les 2 enregistrements suivants :
ID Position Description -- -------- ----------- 1 10 Auto 2 15 Bateau
Basé sur cette table, quelle est la requête qui me permettrais d'avoir ce résultat :
Position Description ----- ----------- 10 Auto 11 Bateau 12 Bateau 13 Bateau 14 Bateau 15 Bateau
Basé sur le premier enregistrement de 'TB1', le champ 'Position' est incrémenté jusqu'à la valeur du champ 'Position' du second enregistrement de 'TB1' et ce, en concervant la même valeur du champ 'Description' du second enregistrement de 'TB1'.
Merci beaucoup à l'avance !
.
bruno reiter [MVP]
tu ne pourras pas le faire en une requête, il faudra par ex ajouter une table et faire qqchose comme ça :
select a2, (select top 1 b1 from bb1 where a1 >= a2) as lib from bb2 left join bb1 on a2 = a1 where a2 < (select max(a1) from bb1) + 1 and a2 > (select min(a1) from bb1) - 1
go
drop table bb1 drop table bb2
br
"FD" wrote in message news:1b1b01c3838e$3c6df660$ J'ai une table 'TB1' avec les 2 enregistrements suivants :
ID Position Description -- -------- ----------- 1 10 Auto 2 15 Bateau
Basé sur cette table, quelle est la requête qui me permettrais d'avoir ce résultat :
Position Description ----- ----------- 10 Auto 11 Bateau 12 Bateau 13 Bateau 14 Bateau 15 Bateau
Basé sur le premier enregistrement de 'TB1', le champ 'Position' est incrémenté jusqu'à la valeur du champ 'Position' du second enregistrement de 'TB1' et ce, en concervant la même valeur du champ 'Description' du second enregistrement de 'TB1'.
Merci beaucoup à l'avance !
tu ne pourras pas le faire en une requête, il faudra par ex ajouter une table et
faire qqchose comme ça :
select a2, (select top 1 b1 from bb1 where a1 >= a2) as lib
from bb2
left join bb1 on a2 = a1
where a2 < (select max(a1) from bb1) + 1
and a2 > (select min(a1) from bb1) - 1
go
drop table bb1
drop table bb2
br
"FD" <francois.dumais@raufoss.com> wrote in message
news:1b1b01c3838e$3c6df660$a001280a@phx.gbl...
J'ai une table 'TB1' avec les 2 enregistrements suivants :
ID Position Description
-- -------- -----------
1 10 Auto
2 15 Bateau
Basé sur cette table, quelle est la requête qui me
permettrais d'avoir ce résultat :
Position Description
----- -----------
10 Auto
11 Bateau
12 Bateau
13 Bateau
14 Bateau
15 Bateau
Basé sur le premier enregistrement de 'TB1',
le champ 'Position' est incrémenté jusqu'à la valeur du
champ 'Position' du second enregistrement de 'TB1' et ce,
en concervant la même valeur du champ 'Description' du
second enregistrement de 'TB1'.
select a2, (select top 1 b1 from bb1 where a1 >= a2) as lib from bb2 left join bb1 on a2 = a1 where a2 < (select max(a1) from bb1) + 1 and a2 > (select min(a1) from bb1) - 1
go
drop table bb1 drop table bb2
br
"FD" wrote in message news:1b1b01c3838e$3c6df660$ J'ai une table 'TB1' avec les 2 enregistrements suivants :
ID Position Description -- -------- ----------- 1 10 Auto 2 15 Bateau
Basé sur cette table, quelle est la requête qui me permettrais d'avoir ce résultat :
Position Description ----- ----------- 10 Auto 11 Bateau 12 Bateau 13 Bateau 14 Bateau 15 Bateau
Basé sur le premier enregistrement de 'TB1', le champ 'Position' est incrémenté jusqu'à la valeur du champ 'Position' du second enregistrement de 'TB1' et ce, en concervant la même valeur du champ 'Description' du second enregistrement de 'TB1'.
Merci beaucoup à l'avance !
Fred BROUARD
La réponse généraliste consiste à ajouter une table des nombres comme ceci :
CREATE TABLE ENTIER (CHIFFRE INTEGER NOT NULL)
INSERT INTO ENTIER (CHIFFRE) VALUES (0) INSERT INTO ENTIER (CHIFFRE) VALUES (1) INSERT INTO ENTIER (CHIFFRE) VALUES (2) INSERT INTO ENTIER (CHIFFRE) VALUES (3) INSERT INTO ENTIER (CHIFFRE) VALUES (4) INSERT INTO ENTIER (CHIFFRE) VALUES (5) INSERT INTO ENTIER (CHIFFRE) VALUES (6) INSERT INTO ENTIER (CHIFFRE) VALUES (7) INSERT INTO ENTIER (CHIFFRE) VALUES (8) INSERT INTO ENTIER (CHIFFRE) VALUES (9)
Pour alimentater la table ENTIER avec les nombre de 10 à 999 faire la requête :
CREATE TABLE T (ID integer, Position integer, Description varchar(16))
INSERT INTO T VALUES (1, 10, 'Auto') INSERT INTO T VALUES (2, 15, 'Bateau')
SELECT CHIFFRE as Position, Description FROM T CROSS JOIN ENTIER WHERE CHIFFRE BETWEEN (SELECT MIN(Position) FROM T) AND (SELECT MAX(Position) FROM T) AND CHIFFRE <= Position
Il te reste un effet de bord à régler !!!
Amuse toi bien !!!
A +
FD a écrit:
J'ai une table 'TB1' avec les 2 enregistrements suivants :
ID Position Description -- -------- ----------- 1 10 Auto 2 15 Bateau
Basé sur cette table, quelle est la requête qui me permettrais d'avoir ce résultat :
Position Description ----- ----------- 10 Auto 11 Bateau 12 Bateau 13 Bateau 14 Bateau 15 Bateau
Basé sur le premier enregistrement de 'TB1', le champ 'Position' est incrémenté jusqu'à la valeur du champ 'Position' du second enregistrement de 'TB1' et ce, en concervant la même valeur du champ 'Description' du second enregistrement de 'TB1'.
Merci beaucoup à l'avance !
-- Frédéric BROUARD - expert SQL, spécialiste : SQL Server / 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 ****************** mailto: ******************
La réponse généraliste consiste à ajouter une table des nombres comme ceci :
CREATE TABLE ENTIER
(CHIFFRE INTEGER NOT NULL)
INSERT INTO ENTIER (CHIFFRE) VALUES (0)
INSERT INTO ENTIER (CHIFFRE) VALUES (1)
INSERT INTO ENTIER (CHIFFRE) VALUES (2)
INSERT INTO ENTIER (CHIFFRE) VALUES (3)
INSERT INTO ENTIER (CHIFFRE) VALUES (4)
INSERT INTO ENTIER (CHIFFRE) VALUES (5)
INSERT INTO ENTIER (CHIFFRE) VALUES (6)
INSERT INTO ENTIER (CHIFFRE) VALUES (7)
INSERT INTO ENTIER (CHIFFRE) VALUES (8)
INSERT INTO ENTIER (CHIFFRE) VALUES (9)
Pour alimentater la table ENTIER avec les nombre de 10 à 999
faire la requête :
CREATE TABLE T
(ID integer,
Position integer,
Description varchar(16))
INSERT INTO T VALUES (1, 10, 'Auto')
INSERT INTO T VALUES (2, 15, 'Bateau')
SELECT CHIFFRE as Position, Description
FROM T
CROSS JOIN ENTIER
WHERE CHIFFRE BETWEEN (SELECT MIN(Position) FROM T) AND (SELECT
MAX(Position) FROM T)
AND CHIFFRE <= Position
Il te reste un effet de bord à régler !!!
Amuse toi bien !!!
A +
FD a écrit:
J'ai une table 'TB1' avec les 2 enregistrements suivants :
ID Position Description
-- -------- -----------
1 10 Auto
2 15 Bateau
Basé sur cette table, quelle est la requête qui me
permettrais d'avoir ce résultat :
Position Description
----- -----------
10 Auto
11 Bateau
12 Bateau
13 Bateau
14 Bateau
15 Bateau
Basé sur le premier enregistrement de 'TB1',
le champ 'Position' est incrémenté jusqu'à la valeur du
champ 'Position' du second enregistrement de 'TB1' et ce,
en concervant la même valeur du champ 'Description' du
second enregistrement de 'TB1'.
Merci beaucoup à l'avance !
--
Frédéric BROUARD - expert SQL, spécialiste : SQL Server / 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
****************** mailto:brouardf@club-internet.fr ******************
CREATE TABLE T (ID integer, Position integer, Description varchar(16))
INSERT INTO T VALUES (1, 10, 'Auto') INSERT INTO T VALUES (2, 15, 'Bateau')
SELECT CHIFFRE as Position, Description FROM T CROSS JOIN ENTIER WHERE CHIFFRE BETWEEN (SELECT MIN(Position) FROM T) AND (SELECT MAX(Position) FROM T) AND CHIFFRE <= Position
Il te reste un effet de bord à régler !!!
Amuse toi bien !!!
A +
FD a écrit:
J'ai une table 'TB1' avec les 2 enregistrements suivants :
ID Position Description -- -------- ----------- 1 10 Auto 2 15 Bateau
Basé sur cette table, quelle est la requête qui me permettrais d'avoir ce résultat :
Position Description ----- ----------- 10 Auto 11 Bateau 12 Bateau 13 Bateau 14 Bateau 15 Bateau
Basé sur le premier enregistrement de 'TB1', le champ 'Position' est incrémenté jusqu'à la valeur du champ 'Position' du second enregistrement de 'TB1' et ce, en concervant la même valeur du champ 'Description' du second enregistrement de 'TB1'.
Merci beaucoup à l'avance !
-- Frédéric BROUARD - expert SQL, spécialiste : SQL Server / 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 ****************** mailto: ******************