Access VBA代码可以工作-但是,当放在SQL中时-使用同一个表-它不';T
此代码在Access VBA中工作Access VBA代码可以工作-但是,当放在SQL中时-使用同一个表-它不';T,sql,Sql,此代码在Access VBA中工作 LstSQL2 = "SELECT A.Assoc_ID, A.Full_Nm As [Agent Name], IIf(AssocName = Full_Nm,'Completed','Not Completed') AS Status " & _ "FROM (SELECT Assoc_ID, Full_Nm FROM Tri_VassocView " & _ "WHERE MgrNa
LstSQL2 = "SELECT A.Assoc_ID, A.Full_Nm As [Agent Name], IIf(AssocName = Full_Nm,'Completed','Not Completed') AS Status " & _
"FROM (SELECT Assoc_ID, Full_Nm FROM Tri_VassocView " & _
"WHERE MgrName = '" & Me.LstSummary.Column(0) & "' " & _
"GROUP BY Assoc_ID, Full_Nm) AS A " & _
"LEFT JOIN " & _
"(SELECT AssocID, AssocName " & _
"FROM Tri_OneonOne " & _
"WHERE FORMAT(DateOfReview, 'MMMM')= ('" & Me.TxtMonth & "') " & _
"AND FORMAT(DateOfReview, 'YYYY')= ('" & Me.TxtYear & "') " & _
"GROUP BY AssocID, AssocName) AS B " & _
"ON A.Assoc_ID = B.AssocID " & _
"GROUP BY A.Assoc_ID, A.Full_Nm, B.AssocID, B.AssocName " & _
"ORDER BY IIf(AssocName = Full_Nm,'Completed','Not Completed');"
SQL“14”中的此代码将所有记录生成为“未完成”-对于硬编码的Sup、月和年,它应该是15/23-两个查询都来自同一个表
SELECT A.Assoc_ID, A.Full_Nm As [Agent Name], CASE WHEN B.AssocName = A.Full_Nm THEN 'Completed' ELSE'Not Completed' END AS Status
FROM
(SELECT Assoc_ID, Full_Nm
FROM Tri.vassocView
WHERE MgrName = 'Dolenz, Mickey'
GROUP BY Assoc_ID, Full_Nm) AS A
LEFT JOIN
(SELECT AssocID, AssocName
FROM Tri.OneonOne
WHERE DATENAME(M, DateOfReview)= ('February')
AND DATENAME(Y, DateOfReview)= ('2020')
GROUP BY AssocID, AssocName) AS B
ON A.Assoc_ID = B.AssocID
GROUP BY A.Assoc_ID, A.Full_Nm, B.AssocID, B.AssocName
ORDER BY IIf(AssocName = Full_Nm,'Completed','Not Completed') DESC;
我没有看到什么??
[编辑]我的道歉-我忘了提到我认为错误在第二(B)个查询中的某个地方,因为第一个查询提取了正确的数据
谢谢您的帮助…试试这个:
SELECT A.Assoc_ID, A.Full_Nm As [Agent Name], CASE WHEN B.AssocName = A.Full_Nm THEN 'Completed' ELSE 'Not Completed' END AS Status
FROM
(SELECT Assoc_ID, Full_Nm
FROM Tri.vassocView
WHERE MgrName = 'Dolenz, Mickey'
GROUP BY Assoc_ID, Full_Nm) AS A
LEFT JOIN
(SELECT AssocID, AssocName
FROM Tri.OneonOne
WHERE DATENAME(M, DateOfReview)= ('February')
AND DATENAME(YY, DateOfReview)= ('2020')
GROUP BY AssocID, AssocName) AS B
ON A.Assoc_ID = B.AssocID
GROUP BY A.Assoc_ID, A.Full_Nm, B.AssocID, B.AssocName
ORDER BY CASE WHEN B.AssocName = A.Full_Nm THEN 'Completed' ELSE 'Not Completed' END DESC