Sledeća sintaksa u Server Management Studiju radi ono što treba i vraća recordsetove sa određenim vrednostima (View):
SELECT dbo.KL_detalji.NalogID, dbo.Profili_S.Naziv, dbo.Profili_S.ProfilID
FROM dbo.KL_detalji INNER JOIN
dbo.Profili_S ON dbo.KL_detalji.ProfilID = dbo.Profili_S.ProfilID INNER JOIN
dbo.KrojnaLista ON dbo.KL_detalji.NalogID = dbo.KrojnaLista.IzlazID
GROUP BY dbo.KL_detalji.NalogID, dbo.Profili_S.Naziv, dbo.Profili_S.ProfilID
HAVING (dbo.KL_detalji.NalogID = 1)
Kada ovu sintaksu koristim u okviru aplikacije u VB6 u obliku Stringa:
MySQL = "SELECT KL_detalji.NalogID, Profili_S.Naziv, Profili_S.ProfilID " & _
"FROM KL_detalji INNER JOIN " & _
"Profili_S ON KL_detalji.ProfilID = Profili_S.ProfilID INNER JOIN " & _
"KrojnaLista ON KL_detalji.NalogID = KrojnaLista.IzlazID " & _
"GROUP BY KL_detalji.NalogID, Profili_S.Naziv, Profili_S.ProfilID " '& _
"Having (KL_detalji.NalogID = 1)"
adoPrimaryRS_1.Open MySQL, DbConnect, adOpenStatic, adLockOptimistic
If adoPrimaryRS_1.RecordCount > 0 Then
ne prijavljuje nikakvu grešku ali ni ne vraća nikakvu vrednost (RecordCount je -1).
Kada izbacim deo od Having - ista stvar se dešava, tek ukoliko se izostavi deo koji ide od GROUP BY dobijam određeni broj
u vrednosti RecordCount
Zahvalan sam na bilo kojoj ideji, jer u pitanju potreba za brzom migraciom baze iz Accessa na SQL 2005 express
Edit: slovo