<CFIF ListLen(SESSION.WHSurveyStruct.reasonString, ";") gt 0>
<CFQUERY name="insertReasons" datasource="#REQUEST.dsn#">
INSERT INTO TWelcomeHome_Reason
(ReasonID, SubReasonID, SurveyID)
SELECT #sanitize(ListFirst(SESSION.WHSurveyStruct.reasonString, ";"))#, #sanitize(getLatestSurveyID.SurveyID)#
<CFLOOP list="#sanitize(ListRest(SESSION.WHSurveyStruct.reasonString, ';'))#" index="thisReason" delimiters=";">
UNION ALL
SELECT #sanitize(thisReason)#, #sanitize(getLatestSurveyID.SurveyID)#
</CFLOOP>
</CFQUERY>
我试图理解这是做什么的。我对循环感到困惑,为什么 select 语句没有FROM
? 好的,它们只是标量。
如何在循环外部有一个 select 语句,而在内部有一个 select 语句呢?我有点不明白这一点union all
。为什么指定了 3 列(ReasonID、SubReasonID、SurveyID),但每列select
都给出了 2 个值?
倾倒:
结构
缓存:错误执行时间:0 记录计数:8 SQL:插入到 TWelcomeHome_Reason(ReasonID、SubReasonID、SurveyID)选择 6、18、245 UNION ALL SELECT 6、21、245
UNION ALL SELECT 6、24、245 UNION ALL SELECT 3、5、 245 联合全部 选择 3、6、245 联合全部 选择 3、8、245 联合全部 选择 3、11、245 联合全部 选择 3、7、245