工作,但需要从 mysql 获取那部分

问题描述

我有以下代码按预期工作,

I am editing my question again here 

这是我的循环

<cfquery name="qry">
SELECT * 
  FROM table1 
</cfquery>

<cfquery name="qrysell">
  SELECT *
  FROM table2
  WHERE SPID=<cfqueryparam value="#Val(qry.SPID)#">
</cfquery>
    
<ul>
    <cfloop query="qrysell">
        <cfquery name="insidequery">
          SELECT SPCPID
          FROM table3
          WHERE SPOID=<cfqueryparam value="#Val(qrysell.SPOID)#">
        </cfquery>
        <li><a href="">#qrysell.Text1# <small>(#qrysell.SPOID#)</small> | #Val(insidequery.RecordCount)#</a></li>
    </cfloop>
</ul>

相反,我想做的只是将循环数据带入 MysqL,这就是我怀疑我应该怎么做的地方?

我已经有一个这样的循环

<cfquery name="qry">
    SELECT * 
      FROM table1 
      left join table2 
        ON table2.SPID = table1.SPID 
      left join table3 
        on table3.SPOID = table2.SPOID 
    </cfquery>

我正在尝试将第一个块中的代码调整为直接在第二个查询生成,但我有点迷失了我在做什么

解决方法

SELECT table1.id,table1.column1,sales.salesTotal
FROM table1
INNER JOIN (
    SELECT COUNT(dkid) AS salesTotal,spoid 
    FROM table2 GROUP BY spoid
) sales ON sales.spoid = table1.spid

这应该返回一个像这样的查询:

id  |  column1  |  salesTotal

然后你可以循环:

<td>
    <ul>
        <cfloop query="qry">
            <li>
                 <a href="#>#column1# <small>(#id#)</small> | #Val(salesTotal)# users</a>
            </li>
        </cfloop>
    </ul>
</td>

这就是你要问的方法吗?