Bonjour, une petite question tordue :
Est-il possible en ADO de faire un SELEST (SQL) sur un
DATATABLE ?
Je m'explique, imaginons que je cr=E9=E9 un DataSet et un
DataTable issue d'une requ=EAte issu d'une requ=EAte SQL de ce
type :
SELECT c1.libelle, c1.adresse, c1.Ordre
FROM CURSEUR1 c1
WHERE c1.codeadresse=3D''
UNION ALL
SELECT c1.libelle, c2.adresse, c1.Ordre
FROM CURSEUR1 c1, ADRESSE c2
WHERE c2.codeadresse=3Dc1.codeadresse
Cette requ=EAte me permet donc de r=E9cup=E9rer une liste de
libell=E9 avec un champ adresse correspondant sachant que si
le champ codeadresse est vide l'info "adresse" doit =EAtre
pioch=E9e dans la table CURSEUR1 et que s'il n'est pas vide
ce champ adresse doit =EAtre pioch=E9 dans le curseur ADRESSE.
Mon probl=E8me est que dans ce cadre d'utilisation si je fait
un ORDER BY c1.ORDRE l'order by va =EAtre effectu=E9, non pas
sur le r=E9sultat final mais sur chaque groupe. Bien sur il
serait possible en SQL de faire un SELECT de SELECT mais
est t-il possible de faire, sur le jeu de r=E9sultat contenu
dans le DataSet et correspondant au DataTable un autre
SELECT ORDER BY par exemple ?=20
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
Ambassadeur Kosh
> Est-il possible en ADO de faire un SELEST (SQL) sur un DATATABLE ?
il existe un langage de selection sur la DataTable, mais c'est plus light que du sql. ceci dit, ça exploite des mécanismes d'indexation, et c'est trés interessant.
il me semble que SELECT * WHERE condition1 UNION SELECT * WHERE condition2 pourrait devenir SELECT * WHERE (condition1 OR condition2)
ce qui devrait te permettre d'appliquer ton ORDERBY non ?
> Est-il possible en ADO de faire un SELEST (SQL) sur un
DATATABLE ?
il existe un langage de selection sur la DataTable, mais c'est plus light
que du sql.
ceci dit, ça exploite des mécanismes d'indexation, et c'est trés
interessant.
il me semble que SELECT * WHERE condition1 UNION SELECT * WHERE condition2
pourrait devenir
SELECT * WHERE (condition1 OR condition2)
ce qui devrait te permettre d'appliquer ton ORDERBY non ?
> Est-il possible en ADO de faire un SELEST (SQL) sur un DATATABLE ?
il existe un langage de selection sur la DataTable, mais c'est plus light que du sql. ceci dit, ça exploite des mécanismes d'indexation, et c'est trés interessant.
il me semble que SELECT * WHERE condition1 UNION SELECT * WHERE condition2 pourrait devenir SELECT * WHERE (condition1 OR condition2)
ce qui devrait te permettre d'appliquer ton ORDERBY non ?
Messenger of the red snake mountain
Bonjour,
Normalement il vous serait possible de faire un order by sur le jeu d'enregistrements final en demandant un ordonnancement par l'index de colonne et non par leur nom. Par exemple pour effectuer un tri sur la colonne no2:
SELECT col1, col2 FROM table1 UNION SELECT col3, col4 FROM table2 ORDER BY 2
Antonio
Bonjour,
Normalement il vous serait possible de faire un order by sur le jeu
d'enregistrements final en demandant un ordonnancement par l'index
de colonne et non par leur nom. Par exemple pour effectuer un tri
sur la colonne no2:
SELECT col1, col2 FROM table1
UNION
SELECT col3, col4 FROM table2
ORDER BY 2
Normalement il vous serait possible de faire un order by sur le jeu d'enregistrements final en demandant un ordonnancement par l'index de colonne et non par leur nom. Par exemple pour effectuer un tri sur la colonne no2:
SELECT col1, col2 FROM table1 UNION SELECT col3, col4 FROM table2 ORDER BY 2
Antonio
Stéphane ANDRE
Merci pour vos réponses.
"Messenger of the red snake mountain" a écrit :
Bonjour,
Normalement il vous serait possible de faire un order by sur le jeu d'enregistrements final en demandant un ordonnancement par l'index de colonne et non par leur nom. Par exemple pour effectuer un tri sur la colonne no2:
SELECT col1, col2 FROM table1 UNION SELECT col3, col4 FROM table2 ORDER BY 2
Antonio
Merci pour vos réponses.
"Messenger of the red snake mountain" a écrit :
Bonjour,
Normalement il vous serait possible de faire un order by sur le jeu
d'enregistrements final en demandant un ordonnancement par l'index
de colonne et non par leur nom. Par exemple pour effectuer un tri
sur la colonne no2:
SELECT col1, col2 FROM table1
UNION
SELECT col3, col4 FROM table2
ORDER BY 2
Normalement il vous serait possible de faire un order by sur le jeu d'enregistrements final en demandant un ordonnancement par l'index de colonne et non par leur nom. Par exemple pour effectuer un tri sur la colonne no2:
SELECT col1, col2 FROM table1 UNION SELECT col3, col4 FROM table2 ORDER BY 2
Antonio
Paul Bacelar
Moi, j'aurais crée une vue SQL qui m'aurais abstrait de cette tambouille.
CREATE VIEW (libelle, adresse, Ordre) AS SELECT c1.libelle, c1.adresse, c1.Ordre FROM CURSEUR1 c1 WHERE c1.codeadresse='' UNION ALL SELECT c1.libelle, c2.adresse, c1.Ordre FROM CURSEUR1 c1, ADRESSE c2 WHERE c2.codeadresseÁ.codeadresse
Il n'y a plus qu'un "groupe by" à mettre sur la vue. -- Paul Bacelar
"Stéphane ANDRE" wrote in message news:
Merci pour vos réponses.
"Messenger of the red snake mountain" a écrit :
> > Bonjour, > > Normalement il vous serait possible de faire un order by sur le jeu > d'enregistrements final en demandant un ordonnancement par l'index > de colonne et non par leur nom. Par exemple pour effectuer un tri > sur la colonne no2: > > SELECT col1, col2 FROM table1 > UNION > SELECT col3, col4 FROM table2 > ORDER BY 2 > > > Antonio > > >
Moi, j'aurais crée une vue SQL qui m'aurais abstrait de cette tambouille.
CREATE VIEW (libelle, adresse, Ordre)
AS
SELECT c1.libelle, c1.adresse, c1.Ordre
FROM CURSEUR1 c1
WHERE c1.codeadresse=''
UNION ALL
SELECT c1.libelle, c2.adresse, c1.Ordre
FROM CURSEUR1 c1, ADRESSE c2
WHERE c2.codeadresseÁ.codeadresse
Il n'y a plus qu'un "groupe by" à mettre sur la vue.
--
Paul Bacelar
"Stéphane ANDRE" <StphaneANDRE@discussions.microsoft.com> wrote in message
news:84B73607-AE96-45C1-8668-D85A5BBC41DF@microsoft.com...
Merci pour vos réponses.
"Messenger of the red snake mountain" a écrit :
>
> Bonjour,
>
> Normalement il vous serait possible de faire un order by sur le jeu
> d'enregistrements final en demandant un ordonnancement par l'index
> de colonne et non par leur nom. Par exemple pour effectuer un tri
> sur la colonne no2:
>
> SELECT col1, col2 FROM table1
> UNION
> SELECT col3, col4 FROM table2
> ORDER BY 2
>
>
> Antonio
>
>
>
Moi, j'aurais crée une vue SQL qui m'aurais abstrait de cette tambouille.
CREATE VIEW (libelle, adresse, Ordre) AS SELECT c1.libelle, c1.adresse, c1.Ordre FROM CURSEUR1 c1 WHERE c1.codeadresse='' UNION ALL SELECT c1.libelle, c2.adresse, c1.Ordre FROM CURSEUR1 c1, ADRESSE c2 WHERE c2.codeadresseÁ.codeadresse
Il n'y a plus qu'un "groupe by" à mettre sur la vue. -- Paul Bacelar
"Stéphane ANDRE" wrote in message news:
Merci pour vos réponses.
"Messenger of the red snake mountain" a écrit :
> > Bonjour, > > Normalement il vous serait possible de faire un order by sur le jeu > d'enregistrements final en demandant un ordonnancement par l'index > de colonne et non par leur nom. Par exemple pour effectuer un tri > sur la colonne no2: > > SELECT col1, col2 FROM table1 > UNION > SELECT col3, col4 FROM table2 > ORDER BY 2 > > > Antonio > > >