requête sql

Cette section est consacrée aux développements d'applications interfacées avec les logiciels Sage.

Modérateurs: Super-Apogea, Super Modérateur

requête sql

de hilaire » Mer 18 Avr 2007 13:21

Bonjour,
j'ai 03 bases de données sage sous sql V 13,Je veux par une requête Sql afficher les données sous la forme suivante :
Reference designation stockbase1 stockbase2 stockbase3

les 03 bases n'ont pas toujours les mêmes articles.

voici la requête pour extraire les données pour la base de données base1 par exemple:

SELECT F_article.AR_Ref AS Reference,AR_Design as Designation,SUM(F_ARTSTOCK.AS_QteSto)AS STOCKBASE1
FROM BASE1.dbo.F_article,BASE1.dbo.F_ARTSTOCK
WHERE F_article.AR_Ref=F_ARTSTOCK.AR_Ref
GROUP BY F_article.AR_Ref,AR_Design


Quelqu'un peut il m'aider avec une requête permettant d'afficher les données comme mentionnés plus haut avec 03 base de données.

Merci de votre prompt reaction.
Contributeur
Contributeur
 
Messages: 55
Inscription: Lun 30 Jan 2006 20:16

de hilaire » Sam 19 Mai 2007 10:24

Bonjour,
il n'ya aucun dur en SQL qui peut me proposer une solution, j'ai soif d'y trouver une suite.
merci de me proposer votre solution pour test.
Contributeur
Contributeur
 
Messages: 55
Inscription: Lun 30 Jan 2006 20:16

SQL

de Mageek_Thib » Dim 20 Mai 2007 06:05

Salut,

Ta requete est tout à fait possible mais pas avec le driver ODBC sage (apparement celui quer tu utilises vu la structure de ton code)

Avec le driver ODBC microsoft, tu peux dans une meme requete spécifier plusieurs bases !!!
Avatar de l’utilisateur
Contributeur
Contributeur
 
Messages: 57
Inscription: Mar 5 Déc 2006 10:00
Localisation: Nouvelle Calédonie

de ricil78 » Mer 18 Juil 2007 12:36

solution tordu mais qui marche.

Tu prend access tu attaches les tables depuis les 3 bases donc tu as besoins
Tu fais ta requete sous access.
Et tu lances ta requete depuis ton code comme une procédure stockée.
et donc tu as bien le résultat que tu voulais.
Super Contributeur
Super Contributeur
 
Messages: 113
Inscription: Lun 20 Nov 2006 14:16

de vrp2 » Mer 18 Juil 2007 14:18

dans sql tu peux utiliser la fonction UNION QUI PERMET DE RECUPERER DES INFOS DE PLUSIEURS VUES;
TU AS AUSSI LA FONCTION CASE WHEN QUI TE PERMET DE METTRE DES CONDITIONS (EQUIVALEMENT DU IF)

EXEMPLE :

UNE VUE PAR BASE
CODE ;QUANTITE; NOM DE BASE

UNE VUE GLOBALE

SELECT * FROM VUE 1 UNION SELECT * FROM VUE 2


UNE VUE FINALE
CASE WHEN COLONNE BASE =SOCIETE 1 J'ECRIS 0 DANS LA COLONNE STOCK SOCIETE 1 ELSE QTE DANS SOCIETE1 ET AINSI DE SUITE
LA DOC TRANSAC SQL QUI EST DANS L'ANALYSEUR DE REQUETE T'EXPLIQUE BIEN CES FONCTIONS

TU PEUX SIMPLIFIER PAR LA SUITE
Super Contributeur
Super Contributeur
 
Messages: 222
Inscription: Sam 5 Mai 2007 20:13


Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités