SELECT * FROM t_news N LEFT JOIN ( SELECT * FROM t_news_items i JOIN( SELECT i2.news_id as newsId ,max(i2.id_news_item) as MaxIdItem FROM t_news_items i2 GROUP BY news_id ) as T3 ON (i.id_news_item = t3.MaxIdItem AND i.news_id = t3.newsId) ) AS T2 ON (N.id_news = T2.newsId) LEFT JOIN c_users U ON U.id = N.news_id_createur WHERE id_news='$id'
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionSELECT S.NOM , N.GRADE, MAX(N.DATE_NOMINATION),MAX(V.DATE_VM) FROM (([SPV] S INNER JOIN [NOMINATION] N ON S.NOM = N.NOM) INNER JOIN [VM] V ON S.NOM = V.NOM) ORDER BY S.NOM
'----------------Remplissage des entetes de colonnes-----------------
DataGridView1.Columns.Add("NOM", "NOM")
DataGridView1.Columns(0).Frozen = True
DataGridView1.Columns.Add("GRADE", "GRADE")
DataGridView1.Columns.Add("DATE", "DATE")
DataGridView1.Columns.Add("VM", "VM")
mySelectquery = "SELECT distinct FORMATION from [HISTO] where recu='O'"
ConnectionBDD()
dtaRead = MyCommand.ExecuteReader()
While dtaRead.Read()
DataGridView1.Columns.Add(dtaRead.GetValue(0).ToString, dtaRead.GetValue(0).ToString)
End While
dtaRead.Close()
MyConnection.Close()
'-----------------------Remplissage des lignes-----------------------
mySelectquery = "SELECT distinct NOM from [SPV] WHERE ACTIF='O'"
ConnectionBDD()
dtaRead = MyCommand.ExecuteReader()
While dtaRead.Read()
DataGridView1.ROWS.Add(dtaRead.GetValue(0).ToString)
End While
dtaRead.Close()
MyConnection.Close()
'---------------------Remplissage des cellules---------------------
'-----Grade + Date_Nomination-----
For i As Integer=1 To DataGridView1.Rows.Count-2
Dim t As date="01/01/1900"
mySelectquery = "SELECT distinct N.Grade,N.Date_NOMINATION from [NOMINATION] N WHERE N.NOM='" & datagridview1.Rows(i).Cells(0).value & "'"
ConnectionBDD()
dtaRead = MyCommand.ExecuteReader()
While dtaRead.Read()
If CDate(dtaRead.GetValue(1).ToString)>CDate(t.ToString) Then
t=CDate(dtaRead.GetValue(1).ToString)
DataGridView1.ROWS(i).Cells(1).value=dtaRead.GetValue(0).ToString
DataGridView1.ROWS(i).Cells(2).value=Format(month(dtaRead.GetValue(1).ToString),"00") & "/"& microsoft.VisualBasic.Right(year(dtaRead.GetValue(1).ToString),2)
End if
End While
dtaRead.Close()
MyConnection.Close()
Next
'-----VM-----
For i As Integer=1 To DataGridView1.Rows.Count-2
Dim t As date="01/01/1900"
mySelectquery = "SELECT distinct Date_VM from [VM] WHERE NOM='" & datagridview1.Rows(i).Cells(0).value & "'"
ConnectionBDD()
dtaRead = MyCommand.ExecuteReader()
While dtaRead.Read()
If CDate(dtaRead.GetValue(0).ToString)>CDate(t.ToString) Then
t=CDate(dtaRead.GetValue(0).ToString)
DataGridView1.ROWS(i).Cells(3).value=Format(month (dtaRead.GetValue(0).ToString),"00") & "/"& microsoft.VisualBasic.Right(year(dtaRead.GetValue(0).ToString),2)
End if
End While
dtaRead.Close()
MyConnection.Close()
Next
'-----Formation-----
For i As Integer=1 To DataGridView1.Rows.Count-2
Dim t As date="01/01/1900"
For j As Integer=4 To DataGridView1.ColumnCount-1
mySelectquery = "SELECT distinct FIN from [HISTO] WHERE RECU='O' and NOM='" & datagridview1.Rows(i).Cells(0).value & "' and FORMATION='" & datagridview1.columns(j).HeaderText & "'"
ConnectionBDD()
dtaRead = MyCommand.ExecuteReader()
While dtaRead.Read()
If CDate(dtaRead.GetValue(0).ToString)>CDate(t.ToString) Then
t=CDate(dtaRead.GetValue(0).ToString
DataGridView1.ROWS(i).Cells(j).value=microsoft.VisualBasic.Right(year(dtaRead.GetValue(0).ToString),2)
End if
End While
dtaRead.Close()
MyConnection.Close()
Next
Next
Malheuresement la requete est longue à s'executer et je ne vois pas comment l'optimiser.
Si quelqu'un pouvait me donner une piste de travail.
J'ai poussé mon probleme un peu plus loin, donc probleme supplémentaire!=> Normalement... toute nouvelle question = ouverture d'une nouvelle discussion sur le forum !!