Je veux afficher a partir de 4 tables des informations a propos des étudiants.
chaque étudiant a au moins une carte. Néamoins, je ne veux afficher que la carte qui a une date d'attribution la plus récente. ALors j'ai construit la requête suivante avec l'assistant de création des vues de Sql Server 2000.
Lorsque j'ai voulu l'executer, j'ai eu le message d'erreur suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 SELECT MAX(dbo.CARTES.DATE_ATTRIBUTION) AS Expr1, dbo.PORTEUR.ID_PERSONNE, dbo.SUPPORTE.NUMSERIE, dbo.PERSONNES.NOM, dbo.PERSONNES.PRENOM, dbo.PERSONNES.Dte_Naissance, dbo.PORTEUR.ID_PORTEUR, dbo.PORTEUR.ID_CARTE, dbo.PERSONNES.PHOTO, dbo.PERSONNES.STOCKAGE_PHOTO FROM dbo.PORTEUR INNER JOIN dbo.PERSONNES ON dbo.PORTEUR.ID_PERSONNE = dbo.PERSONNES.ID_PERSONNE INNER JOIN dbo.SUPPORTE ON dbo.PORTEUR.ID_CARTE = dbo.SUPPORTE.ID_CARTE INNER JOIN dbo.CARTES ON dbo.PORTEUR.ID_CARTE = dbo.CARTES.ID_CARTE AND dbo.SUPPORTE.ID_CARTE = dbo.CARTES.ID_CARTE WHERE (dbo.PORTEUR.ID_TYPE_PORTEUR = 'Etu') GROUP BY dbo.PORTEUR.ID_PERSONNE, dbo.SUPPORTE.NUMSERIE, dbo.PERSONNES.NOM, dbo.PERSONNES.PRENOM, dbo.PERSONNES.Dte_Naissance, dbo.PORTEUR.ID_PORTEUR, dbo.PORTEUR.ID_CARTE, dbo.PERSONNES.PHOTO
Le colonne dbo.PERSONNES.STOCKAGE_PHOTO n'est pas valide dans la liste de sélection parce qu'elle n'est pas contenue dans une fonction d'agrégation ou dans la clause GROUP BY.
J'ai rajouté manuellement dbo.PERSONNES.STOCKAGE_PHOTO dans la clause Group By et j' ai eu l'erreur suivante :
Les types de données text, ntext et image ne peuvent être comparés ou classés, sauf lors de l'utilisation de l'opérateur Like ou IS NULL.
effectivement j'ai ce champs (dbo.PERSONNES.STOCKAGE_PHOTO) et de type binaire dans lequel je stocke des images.
Partager