【发布时间】:2017-02-24 13:27:08
【问题描述】:
我有这个:
sql = "SELECT " & _
"proces_id, " & _
"proces_naam, " & _
"voorraad, " & _
"voorraad_te_laat, " & _
"voorraad_verificatie, " & _
"voorraad_verificatie_te_laat, " & _
"teamplanning, " & _
"teamplanning_verificatie, " & _
"Iif(IsNull(teamplanning_totaal), 0, teamplanning_totaal) + Iif(IsNull(teamplanning), 0, teamplanning) AS totaal_teamplanning, " & _
"Iif(IsNull(teamplanning_totaal_verificatie), 0, teamplanning_totaal_verificatie) + Iif(IsNull(teamplanning), 0, teamplanning_verificatie) AS totaal_teamplanning_verificatie, " & _
"Round(Iif(IsNull(teamplanning), 0, (teamplanning * proces_normtijd * Iif(IsNull(productiviteit_factor), 1, productiviteit_factor)) / 60), 2) AS teamplanning_uren, " & _
"Round(Iif(IsNull(teamplanning_verificatie), 0, (teamplanning_verificatie * proces_normtijd_verificatie * Iif(IsNull(productiviteit_factor), 1, productiviteit_factor)) / 60), 2) AS teamplanning_uren_verificatie, "
If IsNull(Datum) Then
sql = sql & "null AS verschil, " & _
"null AS verschil_verificatie, "
Else
sql = sql & "Iif(IsNull(voorraad), 0, voorraad) - Iif(IsNull(teamplanning), 0, teamplanning) - Iif(IsNull(teamplanning_totaal), 0, teamplanning_totaal) AS verschil, " & _
"Iif(IsNull(voorraad_verificatie), 0, voorraad_verificatie) - Iif(IsNull(teamplanning_verificatie), 0, teamplanning_verificatie) - Iif(IsNull(teamplanning_totaal_verificatie), 0, teamplanning_totaal_verificatie) AS verschil_verificatie, "
End If
sql = sql & "proces_normtijd, " & _
"proces_normtijd_verificatie, " & _
"Iif(IsNull(realisatie_cases), 0, realisatie_cases) AS realisatie_cases_aantal, " & _
"Iif(IsNull(realisatie_cases_verificatie), 0, realisatie_cases_verificatie) AS realisatie_cases_aantal_verificatie, " & _
"Iif(IsNull(ingeplande_cases), 0, ingeplande_cases) AS ingeplande_cases_aantal, " & _
"Iif(IsNull(ingeplande_cases_verificatie), 0, ingeplande_cases_verificatie) AS ingeplande_cases_aantal_verificatie, " & _
"volgorde, "
sql = sql & "Iif(IsNull(voorraad_gisteren), 0, voorraad_gisteren) AS instroom, " & _
"Iif(IsNull(voorraad_verificatie_gisteren), 0, voorraad_verificatie_gisteren) AS instroom_verificatie "
sql = sql & "FROM tmp_planning_proces " & _
"WHERE userid = '" & EscapeString(LCase(mod_global.RealUser)) & "' " & _
"AND team_id = " & TeamID & " " & _
IIf(IsNull(MedewerkerGroepID), "AND medewerker_groep_id is null ", "AND medewerker_groep_id = " & MedewerkerGroepID & " ") & _
IIf(IsNull(Datum), "AND week = " & week & " AND jaar = " & jaar & " ", "AND datum = #" & Format(Datum, "yyyy-mm-dd") & "# ") & _
"ORDER BY volgorde ASC "
我需要改变的是:
“Iif(IsNull(voorraad_gisteren), 0, voorraad_gisteren) AS instroom”。
必须是:
“Iif(IsNull(aantal_instroom), 0, aantal_instroom) AS instroom”。
问题在于它来自另一个名为 instroom 的表。我没有自己做的查询,我的查询技能有限,所以我尝试了这个:
"Iif(IsNull(Select aantal_instroom From instroom), 0, aantal_instroom) AS instroom"
但这不起作用,突然没有数据出现了。
有人知道怎么做吗?
【问题讨论】:
-
首先,您没有在查询中包含表“instroom”,因此 SQL 对该表或其中的任何字段一无所知。其次,添加该表后,请注意您已为字段指定别名并将其命名为“instroom”,这会让其他看到此内容的人感到困惑。
-
另外,由于上述查询是基于查询或表'tmp_planning_proces',该查询/表是否有您需要的字段?