requête sql
Modérateurs: Super-Apogea, Super Modérateur
5 messages
|Page 1 sur 1
requête sql
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.
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
- Messages: 55
- Inscription: Lun 30 Jan 2006 20:16
SQL
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 !!!
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 !!!
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.
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
- Messages: 113
- Inscription: Lun 20 Nov 2006 14:16
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
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
- Messages: 222
- Inscription: Sam 5 Mai 2007 20:13
5 messages
|Page 1 sur 1
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité