Je fais un travail sur la géologie. Une plaque est constituée d'une portion.
Cette plaque rencontre une autre plaque qui est constituée d'une autre
portion de plaque. Lorsque ces deux plaques se heurtent, elles engendrent une
tension qui donne un exemple de chaîne de montagnes ou d'arcs insulaires.J'ai
5 tables : Plaque(Id_plaque,Nom),Portion(Id_portion,Id_plaque,Type),Se
heurtent et
engendrent(Id_portion_plaque1,Id_portion_plaque2,Id_tension),Tension(Id_tension,Type_tension),Exemple_concret(Id_exemple,Id_tension,Exemple).
Ces tables sont reliées entre elles comme suit;Plaque vers Portion vers "Se
heurtent et engendrent"vers Tension vers Exemple concret. Si je fais une vue
reprenant toutes ces tables et que la tension est la même (ce qui arrive
souvant),si j'encode deux exemples, j'ai quatres résultats.Exemple, la plaque
a rencontre la plaque b, la tension est ocg (pour oceanique,continentale et
glissement) cela donne l'exemple1.
Si la plaque c rencontre la plaque d, la tension est ocg (pour
oceanique,continentale et glissement) cela donne l'exemple2. Lorsque je lance
ma vue, j'ai 4 exemples (a et b ont comme tension ocg et donne exemple 1,a et
b ont comme tension ocg et donne exemple 2,c et d ont comme tension ocg et
donne exemple 1,c et d ont comme tension ocg et donne exemple 2). Ce qui est
logique puisque la vue reprend toutes les tension identiques. Que dois-je
faire pour que la vue ne reprennent que les deux exemples(a et b, tension
ocg, exemple1 et c et d, tension ocg, exemple2). Voici le code de la vue:
SELECT Plaque_1.Nom AS Expr1, Plaque_2.Nom, dbo.[Se heurtent et
engendrent].Id_tension, dbo.Tension.Id_tension AS Expr2,
dbo.[Exemple concret].Exemple
FROM dbo.Tension INNER JOIN
dbo.Plaque Plaque_2 INNER JOIN
dbo.Portion Portion_2 ON Plaque_2.Id_plaque =
Portion_2.Id_plaque INNER JOIN
dbo.[Se heurtent et engendrent] ON
Portion_2.Id_portion = dbo.[Se heurtent et engendrent].Id_portion_plaque1 ON
dbo.Tension.Id_tension = dbo.[Se heurtent et
engendrent].Id_tension INNER JOIN
dbo.[Exemple concret] ON dbo.Tension.Id_tension =
dbo.[Exemple concret].Id_tension INNER JOIN
dbo.Plaque Plaque_1 INNER JOIN
dbo.Portion Portion_1 ON Plaque_1.Id_plaque =
Portion_1.Id_plaque ON dbo.[Se heurtent et engendrent].Id_portion_plaque2 =
Portion_1.Id_portion
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
Fred BROUARD
Votre requête n'est pas incorrecte. Tout dépen de vos données.
SELECT Plaque_1.Nom AS Expr1, Plaque_2.Nom, dbo.[Se heurtent et engendrent].Id_tension, dbo.Tension.Id_tension AS Expr2, dbo.[Exemple concret].Exemple
FROM dbo.Tension
INNER JOIN dbo.[Se heurtent et engendrent] ON dbo.Tension.Id_tension = dbo.[Se heurtent et engendrent].Id_tension
INNER JOIN dbo.Portion Portion_1 ON dbo.[Se heurtent et engendrent].Id_portion_plaque2 = Portion_1.Id_portion
INNER JOIN dbo.Plaque Plaque_1 ON Plaque_1.Id_plaque = Portion_1.Id_plaque
INNER JOIN dbo.Portion Portion_2 ON Portion_2.Id_portion = dbo.[Se heurtent et engendrent].Id_portion_plaque1
INNER JOIN dbo.Plaque Plaque_2 ON Plaque_2.Id_plaque = Portion_2.Id_plaque
INNER JOIN dbo.[Exemple concret] ON dbo.Tension.Id_tension = dbo.[Exemple concret].Id_tension
Mieux vuadrait que vos noms d'objet SQL respectent la norme et notamment sans espace caractères diacritiques et autre fantaisies.
Utilisez aussi des alias, ce sera plus lisible.
A +
sylvie a écrit:
Je fais un travail sur la géologie. Une plaque est constituée d'une portion. Cette plaque rencontre une autre plaque qui est constituée d'une autre portion de plaque. Lorsque ces deux plaques se heurtent, elles engendrent une tension qui donne un exemple de chaîne de montagnes ou d'arcs insulaires.J'ai 5 tables : Plaque(Id_plaque,Nom),Portion(Id_portion,Id_plaque,Type),Se heurtent et engendrent(Id_portion_plaque1,Id_portion_plaque2,Id_tension),Tension(Id_tension,Type_tension),Exemple_concret(Id_exemple,Id_tension,Exemple). Ces tables sont reliées entre elles comme suit;Plaque vers Portion vers "Se heurtent et engendrent"vers Tension vers Exemple concret. Si je fais une vue reprenant toutes ces tables et que la tension est la même (ce qui arrive souvant),si j'encode deux exemples, j'ai quatres résultats.Exemple, la plaque a rencontre la plaque b, la tension est ocg (pour oceanique,continentale et glissement) cela donne l'exemple1. Si la plaque c rencontre la plaque d, la tension est ocg (pour oceanique,continentale et glissement) cela donne l'exemple2. Lorsque je lance ma vue, j'ai 4 exemples (a et b ont comme tension ocg et donne exemple 1,a et b ont comme tension ocg et donne exemple 2,c et d ont comme tension ocg et donne exemple 1,c et d ont comme tension ocg et donne exemple 2). Ce qui est logique puisque la vue reprend toutes les tension identiques. Que dois-je faire pour que la vue ne reprennent que les deux exemples(a et b, tension ocg, exemple1 et c et d, tension ocg, exemple2). Voici le code de la vue: SELECT Plaque_1.Nom AS Expr1, Plaque_2.Nom, dbo.[Se heurtent et engendrent].Id_tension, dbo.Tension.Id_tension AS Expr2, dbo.[Exemple concret].Exemple FROM dbo.Tension INNER JOIN dbo.Plaque Plaque_2 INNER JOIN dbo.Portion Portion_2 ON Plaque_2.Id_plaque = Portion_2.Id_plaque INNER JOIN dbo.[Se heurtent et engendrent] ON Portion_2.Id_portion = dbo.[Se heurtent et engendrent].Id_portion_plaque1 ON dbo.Tension.Id_tension = dbo.[Se heurtent et engendrent].Id_tension INNER JOIN dbo.[Exemple concret] ON dbo.Tension.Id_tension = dbo.[Exemple concret].Id_tension INNER JOIN dbo.Plaque Plaque_1 INNER JOIN dbo.Portion Portion_1 ON Plaque_1.Id_plaque = Portion_1.Id_plaque ON dbo.[Se heurtent et engendrent].Id_portion_plaque2 = Portion_1.Id_portion
Aidez-moi s'il-vous-plaît sylvie
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation ********************* http://www.datasapiens.com ***********************
Votre requête n'est pas incorrecte. Tout dépen de vos données.
SELECT Plaque_1.Nom AS Expr1, Plaque_2.Nom,
dbo.[Se heurtent et engendrent].Id_tension,
dbo.Tension.Id_tension AS Expr2,
dbo.[Exemple concret].Exemple
FROM dbo.Tension
INNER JOIN dbo.[Se heurtent et engendrent]
ON dbo.Tension.Id_tension = dbo.[Se heurtent et
engendrent].Id_tension
INNER JOIN dbo.Portion Portion_1
ON dbo.[Se heurtent et engendrent].Id_portion_plaque2 =
Portion_1.Id_portion
INNER JOIN dbo.Plaque Plaque_1
ON Plaque_1.Id_plaque = Portion_1.Id_plaque
INNER JOIN dbo.Portion Portion_2
ON Portion_2.Id_portion = dbo.[Se heurtent et
engendrent].Id_portion_plaque1
INNER JOIN dbo.Plaque Plaque_2
ON Plaque_2.Id_plaque = Portion_2.Id_plaque
INNER JOIN dbo.[Exemple concret]
ON dbo.Tension.Id_tension = dbo.[Exemple concret].Id_tension
Mieux vuadrait que vos noms d'objet SQL respectent la norme et notamment sans
espace caractères diacritiques et autre fantaisies.
Utilisez aussi des alias, ce sera plus lisible.
A +
sylvie a écrit:
Je fais un travail sur la géologie. Une plaque est constituée d'une portion.
Cette plaque rencontre une autre plaque qui est constituée d'une autre
portion de plaque. Lorsque ces deux plaques se heurtent, elles engendrent une
tension qui donne un exemple de chaîne de montagnes ou d'arcs insulaires.J'ai
5 tables : Plaque(Id_plaque,Nom),Portion(Id_portion,Id_plaque,Type),Se
heurtent et
engendrent(Id_portion_plaque1,Id_portion_plaque2,Id_tension),Tension(Id_tension,Type_tension),Exemple_concret(Id_exemple,Id_tension,Exemple).
Ces tables sont reliées entre elles comme suit;Plaque vers Portion vers "Se
heurtent et engendrent"vers Tension vers Exemple concret. Si je fais une vue
reprenant toutes ces tables et que la tension est la même (ce qui arrive
souvant),si j'encode deux exemples, j'ai quatres résultats.Exemple, la plaque
a rencontre la plaque b, la tension est ocg (pour oceanique,continentale et
glissement) cela donne l'exemple1.
Si la plaque c rencontre la plaque d, la tension est ocg (pour
oceanique,continentale et glissement) cela donne l'exemple2. Lorsque je lance
ma vue, j'ai 4 exemples (a et b ont comme tension ocg et donne exemple 1,a et
b ont comme tension ocg et donne exemple 2,c et d ont comme tension ocg et
donne exemple 1,c et d ont comme tension ocg et donne exemple 2). Ce qui est
logique puisque la vue reprend toutes les tension identiques. Que dois-je
faire pour que la vue ne reprennent que les deux exemples(a et b, tension
ocg, exemple1 et c et d, tension ocg, exemple2). Voici le code de la vue:
SELECT Plaque_1.Nom AS Expr1, Plaque_2.Nom, dbo.[Se heurtent et
engendrent].Id_tension, dbo.Tension.Id_tension AS Expr2,
dbo.[Exemple concret].Exemple
FROM dbo.Tension INNER JOIN
dbo.Plaque Plaque_2 INNER JOIN
dbo.Portion Portion_2 ON Plaque_2.Id_plaque =
Portion_2.Id_plaque INNER JOIN
dbo.[Se heurtent et engendrent] ON
Portion_2.Id_portion = dbo.[Se heurtent et engendrent].Id_portion_plaque1 ON
dbo.Tension.Id_tension = dbo.[Se heurtent et
engendrent].Id_tension INNER JOIN
dbo.[Exemple concret] ON dbo.Tension.Id_tension =
dbo.[Exemple concret].Id_tension INNER JOIN
dbo.Plaque Plaque_1 INNER JOIN
dbo.Portion Portion_1 ON Plaque_1.Id_plaque =
Portion_1.Id_plaque ON dbo.[Se heurtent et engendrent].Id_portion_plaque2 =
Portion_1.Id_portion
Aidez-moi s'il-vous-plaît
sylvie
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Votre requête n'est pas incorrecte. Tout dépen de vos données.
SELECT Plaque_1.Nom AS Expr1, Plaque_2.Nom, dbo.[Se heurtent et engendrent].Id_tension, dbo.Tension.Id_tension AS Expr2, dbo.[Exemple concret].Exemple
FROM dbo.Tension
INNER JOIN dbo.[Se heurtent et engendrent] ON dbo.Tension.Id_tension = dbo.[Se heurtent et engendrent].Id_tension
INNER JOIN dbo.Portion Portion_1 ON dbo.[Se heurtent et engendrent].Id_portion_plaque2 = Portion_1.Id_portion
INNER JOIN dbo.Plaque Plaque_1 ON Plaque_1.Id_plaque = Portion_1.Id_plaque
INNER JOIN dbo.Portion Portion_2 ON Portion_2.Id_portion = dbo.[Se heurtent et engendrent].Id_portion_plaque1
INNER JOIN dbo.Plaque Plaque_2 ON Plaque_2.Id_plaque = Portion_2.Id_plaque
INNER JOIN dbo.[Exemple concret] ON dbo.Tension.Id_tension = dbo.[Exemple concret].Id_tension
Mieux vuadrait que vos noms d'objet SQL respectent la norme et notamment sans espace caractères diacritiques et autre fantaisies.
Utilisez aussi des alias, ce sera plus lisible.
A +
sylvie a écrit:
Je fais un travail sur la géologie. Une plaque est constituée d'une portion. Cette plaque rencontre une autre plaque qui est constituée d'une autre portion de plaque. Lorsque ces deux plaques se heurtent, elles engendrent une tension qui donne un exemple de chaîne de montagnes ou d'arcs insulaires.J'ai 5 tables : Plaque(Id_plaque,Nom),Portion(Id_portion,Id_plaque,Type),Se heurtent et engendrent(Id_portion_plaque1,Id_portion_plaque2,Id_tension),Tension(Id_tension,Type_tension),Exemple_concret(Id_exemple,Id_tension,Exemple). Ces tables sont reliées entre elles comme suit;Plaque vers Portion vers "Se heurtent et engendrent"vers Tension vers Exemple concret. Si je fais une vue reprenant toutes ces tables et que la tension est la même (ce qui arrive souvant),si j'encode deux exemples, j'ai quatres résultats.Exemple, la plaque a rencontre la plaque b, la tension est ocg (pour oceanique,continentale et glissement) cela donne l'exemple1. Si la plaque c rencontre la plaque d, la tension est ocg (pour oceanique,continentale et glissement) cela donne l'exemple2. Lorsque je lance ma vue, j'ai 4 exemples (a et b ont comme tension ocg et donne exemple 1,a et b ont comme tension ocg et donne exemple 2,c et d ont comme tension ocg et donne exemple 1,c et d ont comme tension ocg et donne exemple 2). Ce qui est logique puisque la vue reprend toutes les tension identiques. Que dois-je faire pour que la vue ne reprennent que les deux exemples(a et b, tension ocg, exemple1 et c et d, tension ocg, exemple2). Voici le code de la vue: SELECT Plaque_1.Nom AS Expr1, Plaque_2.Nom, dbo.[Se heurtent et engendrent].Id_tension, dbo.Tension.Id_tension AS Expr2, dbo.[Exemple concret].Exemple FROM dbo.Tension INNER JOIN dbo.Plaque Plaque_2 INNER JOIN dbo.Portion Portion_2 ON Plaque_2.Id_plaque = Portion_2.Id_plaque INNER JOIN dbo.[Se heurtent et engendrent] ON Portion_2.Id_portion = dbo.[Se heurtent et engendrent].Id_portion_plaque1 ON dbo.Tension.Id_tension = dbo.[Se heurtent et engendrent].Id_tension INNER JOIN dbo.[Exemple concret] ON dbo.Tension.Id_tension = dbo.[Exemple concret].Id_tension INNER JOIN dbo.Plaque Plaque_1 INNER JOIN dbo.Portion Portion_1 ON Plaque_1.Id_plaque = Portion_1.Id_plaque ON dbo.[Se heurtent et engendrent].Id_portion_plaque2 = Portion_1.Id_portion
Aidez-moi s'il-vous-plaît sylvie
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation ********************* http://www.datasapiens.com ***********************