OVH Cloud OVH Cloud

POUR LES STARS DU SQL

4 réponses
Avatar
christophe
Bonjour à tous,

je suis confronté à un dileme !!


voila j'ai une base relationnelle (jusque la normale) et malheureusement je
dois utiliser une application qui ne sait gerer qu'une table.
je me suis dit ok pas de bleme je vais faire une vue, oui mais comment
crééer une vue avec des colonnes qui sont en faits des lignes ????

version simplifiée


Exemple :
la table 1 à 2 champs :
ID_FAMILLE
ID_STRUCT
NOM


la table 2 à 3 champs
ID_STRUCT
ID_FICHE
CONTENU



DONC je lie les 2 tables par le champ ID_STRUCT donc
pour un ID_FAMILLE = à 1 j'ai mettons 5 lignes en retours

id_struct NOM
1 C1
2 C2
3 C3
4 C4
5 C5



Donc la vue doit se présenter comme champs
Les ligne de la table 1
CHAMP1 = C1
CHAMP2 = C2
ETC...


Et les ligne de cette vue doivent etre la liaison de la table 2
DONC le CHAMP C1 dois contenir tout les enregistrement de la
table 2 dont le ID_STRUCT = AU CHAMP C1
ETC....


Bon c'est la version simplifiée cela se complique un peut plus mais je pense
qu'on a le plus gros !!
Si vous avez des questions ou des infos qui peuvent solutionner ce gros
probleme, je suis plus que preneur christophe@ipnet.fr
car la ca me depasse !!!



Merci @+

4 réponses

Avatar
tidiane
Un left outer join ne ferait pas l'affaire ?
select liste_de_champs from table1 left outer join
table2 on champ1=champ2 where condition



-----Message d'origine-----
Bonjour à tous,

je suis confronté à un dileme !!


voila j'ai une base relationnelle (jusque la normale) et


malheureusement je
dois utiliser une application qui ne sait gerer qu'une


table.
je me suis dit ok pas de bleme je vais faire une vue, oui


mais comment
crééer une vue avec des colonnes qui sont en faits des


lignes ????

version simplifiée


Exemple :
la table 1 à 2 champs :
ID_FAMILLE
ID_STRUCT
NOM


la table 2 à 3 champs
ID_STRUCT
ID_FICHE
CONTENU



DONC je lie les 2 tables par le champ ID_STRUCT donc
pour un ID_FAMILLE = à 1 j'ai mettons 5 lignes en


retours

id_struct NOM
1 C1
2 C2
3 C3
4 C4
5 C5



Donc la vue doit se présenter comme champs
Les ligne de la table 1
CHAMP1 = C1
CHAMP2 = C2
ETC...


Et les ligne de cette vue doivent etre la liaison de la


table 2
DONC le CHAMP C1 dois contenir tout les


enregistrement de la
table 2 dont le ID_STRUCT = AU CHAMP C1
ETC....


Bon c'est la version simplifiée cela se complique un peut


plus mais je pense
qu'on a le plus gros !!
Si vous avez des questions ou des infos qui peuvent


solutionner ce gros
probleme, je suis plus que preneur
car la ca me depasse !!!



Merci @+















.



Avatar
christophe
non car le left outer join c'est pour coller les champs de la table A avec
Ceux de la table B
hors pour ma part ils sont en ligne et non en colone !!


j'ai peut etre trouvé une piste avec case when qui s'avere une instruction
puissante !!!





"tidiane" a écrit dans le message de
news:c06001c4382e$6b1ed3d0$
Un left outer join ne ferait pas l'affaire ?
select liste_de_champs from table1 left outer join
table2 on champ1=champ2 where condition



-----Message d'origine-----
Bonjour à tous,

je suis confronté à un dileme !!


voila j'ai une base relationnelle (jusque la normale) et


malheureusement je
dois utiliser une application qui ne sait gerer qu'une


table.
je me suis dit ok pas de bleme je vais faire une vue, oui


mais comment
crééer une vue avec des colonnes qui sont en faits des


lignes ????

version simplifiée


Exemple :
la table 1 à 2 champs :
ID_FAMILLE
ID_STRUCT
NOM


la table 2 à 3 champs
ID_STRUCT
ID_FICHE
CONTENU



DONC je lie les 2 tables par le champ ID_STRUCT donc
pour un ID_FAMILLE = à 1 j'ai mettons 5 lignes en


retours

id_struct NOM
1 C1
2 C2
3 C3
4 C4
5 C5



Donc la vue doit se présenter comme champs
Les ligne de la table 1
CHAMP1 = C1
CHAMP2 = C2
ETC...


Et les ligne de cette vue doivent etre la liaison de la


table 2
DONC le CHAMP C1 dois contenir tout les


enregistrement de la
table 2 dont le ID_STRUCT = AU CHAMP C1
ETC....


Bon c'est la version simplifiée cela se complique un peut


plus mais je pense
qu'on a le plus gros !!
Si vous avez des questions ou des infos qui peuvent


solutionner ce gros
probleme, je suis plus que preneur
car la ca me depasse !!!



Merci @+















.



Avatar
Fred BROUARD
SQL n'est pas fait pour faire de la cosmétique !

A lire :
http://sqlpro.developpez.com/SQL_AZ_E.html#Cosmos

A +


--
Frédéric BROUARD, MVP MS SQL Server. Expert Langage SQL / 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
************************ www.datasapiens.com *************************

christophe a écrit:
non car le left outer join c'est pour coller les champs de la table A avec
Ceux de la table B
hors pour ma part ils sont en ligne et non en colone !!


j'ai peut etre trouvé une piste avec case when qui s'avere une instruction
puissante !!!





"tidiane" a écrit dans le message de
news:c06001c4382e$6b1ed3d0$
Un left outer join ne ferait pas l'affaire ?
select liste_de_champs from table1 left outer join
table2 on champ1=champ2 where condition




-----Message d'origine-----
Bonjour à tous,

je suis confronté à un dileme !!


voila j'ai une base relationnelle (jusque la normale) et



malheureusement je

dois utiliser une application qui ne sait gerer qu'une



table.

je me suis dit ok pas de bleme je vais faire une vue, oui



mais comment

crééer une vue avec des colonnes qui sont en faits des



lignes ????

version simplifiée


Exemple :
la table 1 à 2 champs :
ID_FAMILLE
ID_STRUCT
NOM


la table 2 à 3 champs
ID_STRUCT
ID_FICHE
CONTENU



DONC je lie les 2 tables par le champ ID_STRUCT donc
pour un ID_FAMILLE = à 1 j'ai mettons 5 lignes en



retours

id_struct NOM
1 C1
2 C2
3 C3
4 C4
5 C5



Donc la vue doit se présenter comme champs
Les ligne de la table 1
CHAMP1 = C1
CHAMP2 = C2
ETC...


Et les ligne de cette vue doivent etre la liaison de la



table 2

DONC le CHAMP C1 dois contenir tout les



enregistrement de la

table 2 dont le ID_STRUCT = AU CHAMP C1
ETC....


Bon c'est la version simplifiée cela se complique un peut



plus mais je pense

qu'on a le plus gros !!
Si vous avez des questions ou des infos qui peuvent



solutionner ce gros

probleme, je suis plus que preneur
car la ca me depasse !!!



Merci @+















.








Avatar
christophe
je sais mais des fois on n'a pas le choix !!!
sinon crois moi que je l'aurais eviter imagine qu'en plus j'ai des mac au
C.. donc tu vois dans le genre ODBC etc... je me suis arraché les cheveux je
te parle meme pas des appli restrictive qu'ils ont !!

sans polemique aucune bien sur !!!



"Fred BROUARD" a écrit dans le message de
news:
SQL n'est pas fait pour faire de la cosmétique !

A lire :
http://sqlpro.developpez.com/SQL_AZ_E.html#Cosmos

A +


--
Frédéric BROUARD, MVP MS SQL Server. Expert Langage SQL / 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
************************ www.datasapiens.com *************************

christophe a écrit:
> non car le left outer join c'est pour coller les champs de la table A


avec
> Ceux de la table B
> hors pour ma part ils sont en ligne et non en colone !!
>
>
> j'ai peut etre trouvé une piste avec case when qui s'avere une


instruction
> puissante !!!
>
>
>
>
>
> "tidiane" a écrit dans le message


de
> news:c06001c4382e$6b1ed3d0$
> Un left outer join ne ferait pas l'affaire ?
> select liste_de_champs from table1 left outer join
> table2 on champ1=champ2 where condition
>
>
>
>
>>-----Message d'origine-----
>>Bonjour à tous,
>>
>>je suis confronté à un dileme !!
>>
>>
>>voila j'ai une base relationnelle (jusque la normale) et
>
> malheureusement je
>
>>dois utiliser une application qui ne sait gerer qu'une
>
> table.
>
>>je me suis dit ok pas de bleme je vais faire une vue, oui
>
> mais comment
>
>>crééer une vue avec des colonnes qui sont en faits des
>
> lignes ????
>
>>version simplifiée
>>
>>
>>Exemple :
>> la table 1 à 2 champs :
>> ID_FAMILLE
>> ID_STRUCT
>> NOM
>>
>>
>> la table 2 à 3 champs
>> ID_STRUCT
>> ID_FICHE
>> CONTENU
>>
>>
>>
>>DONC je lie les 2 tables par le champ ID_STRUCT donc
>> pour un ID_FAMILLE = à 1 j'ai mettons 5 lignes en
>
> retours
>
>> id_struct NOM
>> 1 C1
>> 2 C2
>> 3 C3
>> 4 C4
>> 5 C5
>>
>>
>>
>>Donc la vue doit se présenter comme champs
>> Les ligne de la table 1
>> CHAMP1 = C1
>> CHAMP2 = C2
>> ETC...
>>
>>
>>Et les ligne de cette vue doivent etre la liaison de la
>
> table 2
>
>> DONC le CHAMP C1 dois contenir tout les
>
> enregistrement de la
>
>>table 2 dont le ID_STRUCT = AU CHAMP C1
>> ETC....
>>
>>
>>Bon c'est la version simplifiée cela se complique un peut
>
> plus mais je pense
>
>>qu'on a le plus gros !!
>>Si vous avez des questions ou des infos qui peuvent
>
> solutionner ce gros
>
>>probleme, je suis plus que preneur
>>car la ca me depasse !!!
>>
>>
>>
>>Merci @+
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>.
>>
>
>
>