none
requette sql RRS feed

  • Question

  • Bonjour,
    Je travaille sur une application asp et j ai un probleme sur une requette sql, j ai une table absence qui englobe les absences des etudiants avec le type d absence justifie ou nonjustifie et je veux afficher les noms des etudiants avec le nombre d absence justifie et le nombre total d absence non justifie aidez moi svp
    • Déplacé Alex Petrescu vendredi 1 octobre 2010 08:59 sql (Origine :Développement .NET (en général))
    mercredi 29 septembre 2010 22:13

Réponses

  • Bonsoir,

    Plus simple et plus performant je pense :-)

    SELECT 
     student_name, 
     SUM(CASE dbo.Absences.justified
       WHEN 'yes' THEN 1
       ELSE 0
       END) AS justified,
     SUM(CASE dbo.Absences.justified
       WHEN 'no' THEN 1
       ELSE 0
       END) AS unjustified
    FROM dbo.Absences
    GROUP BY dbo.Absences.student_name
    

    ++


    MCDBA | MCITP SQL Server 2005 / SQL Server 2008 | LPI Linux 1
    vendredi 1 octobre 2010 20:38
    Modérateur

Toutes les réponses

  • Bonjour,

     

    J’assume que la structure de votre table Absences est :

    Nom_etudiant, Date_absence, Justifiee

     

    Vous pouvez utiliser le code suivant pour obtenir le nombre d’absences justifiées et non-justifiées :

     

    select A.student_name, A.unjustified, B.justified

      from

      (select dbo.Absences.student_name, count(dbo.Absences.justified) as unjustified

      from dbo.Absences

      where dbo.Absences.justified = 'no'

      group by dbo.Absences.student_name) as A

      inner join

      (select dbo.Absences.student_name, count(dbo.Absences.justified) as justified

      from dbo.Absences

      where dbo.Absences.justified = 'yes'

      group by dbo.Absences.student_name) as B

      on A.student_name = B.student_name

     

    Cordialement,

    Alex

    ________________

    Publiez un article sur une de ces technologies : Visual Basic, C#, C++, .NET, ASP.NET, SQL Server, Silverlight, SharePoint 2010, SharePoint 2007

    Windows Phone 7

    Astuces pour Visual Studio 2010

    XNA – Développement jeux vidéo

    Didacticiels et astuces : VB.NET, C#, ASP.NET, .NET Framework, Silverlight, Workflow Foundation, WPF

    Café des usages

    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

     

     

    vendredi 1 octobre 2010 09:13
  • Bonsoir,

    Plus simple et plus performant je pense :-)

    SELECT 
     student_name, 
     SUM(CASE dbo.Absences.justified
       WHEN 'yes' THEN 1
       ELSE 0
       END) AS justified,
     SUM(CASE dbo.Absences.justified
       WHEN 'no' THEN 1
       ELSE 0
       END) AS unjustified
    FROM dbo.Absences
    GROUP BY dbo.Absences.student_name
    

    ++


    MCDBA | MCITP SQL Server 2005 / SQL Server 2008 | LPI Linux 1
    vendredi 1 octobre 2010 20:38
    Modérateur