FusionRequeteSql

Instruction

Paramètre 1 : <code de la table>

Paramètre 2 : <chaîne SQL>

Paramètre 3 : <chaîne SQL>

Cette instruction a pour rôle de fusionner deux requêtes SQL (clause Select) pour en faire une seule avec les règles suivantes :

Les clauses « Where » sont réunies en une seule clause « Where » dont la condition est la conjonction (connecteur logique And) des conditions des deux clauses « Where » initiales. Si l'une des clauses « Where » initiales est absente, c'est l'autre clause qui est choisie. Si les deux clauses « Where » sont absentes, il n'y aura pas de clause « Where » dans le résultat.

La clause « Order By » choisie est celle de la deuxième requête, si elle existe. Sinon, c'est celle de la première requête. Si les deux clauses « Order By » sont absentes des requêtes initiales, il n'y aura pas de clause « Order By » dans le résultat.

Cette instruction prend en premier paramètre le code de la table ou le code du contexte de table concernée. (On pourra utiliser également le mot réservé TABLE qui désigne la table principale de l'objet).

Elle prend en deuxième et troisième paramètres les requêtes SQL qui seront fusionnées. Le résultat est mis en retour dans le deuxième paramètre.

Exemple 1 :

Requête1 : Select * from TABLE where BANQUE_IDENT='2' Order By CODE

Requête2 : Select * from TABLE where VILLE_IDENT='3' or VILLE_IDENT='5'

Le résultat sera :

Select * from TABLE where (BANQUE_IDENT='2') And (VILLE_IDENT='3' or VILLE_IDENT='5')Order By CODE

Exemple 2 :

Requête1 : Select * from TABLE Order By CODE

Requête2 : Select * from TABLE where VILLE_IDENT='3' Order By DESIG

Le résultat sera :

Select * from TABLE where VILLE_IDENT='3' Order By DESIG

 

Voir aussi : LitRequeteSql, PoseRequeteSql