Typo3 打字脚本中的嵌套SQL语句

Typo3 打字脚本中的嵌套SQL语句,typo3,typoscript,Typo3,Typoscript,我想要实现的输出是这样的: A Anthony SL Cars Project Flyers printing Projekt 3 C Carl SL Painting job 基本上是客户及其相关项目的字母索引 我把客户放在一个名为“tx_MyClient”的表格中,把项目放在页面中。这就是我要做的 但出于某种原因,内部选择似乎会阻止外部选择的循环。我能做什么?我不能嵌套SQL语句吗?是的,你说得对。但我认为,同

我想要实现的输出是这样的:

A
    Anthony SL
        Cars Project
        Flyers printing
        Projekt 3
C
    Carl SL
        Painting job
基本上是客户及其相关项目的字母索引

我把客户放在一个名为“tx_MyClient”的表格中,把项目放在页面中。这就是我要做的


但出于某种原因,内部选择似乎会阻止外部选择的循环。我能做什么?我不能嵌套SQL语句吗?

是的,你说得对。但我认为,同一个表的同一条记录不会被呈现两次是有意的

因此,呈现信息存储在(123是该客户端的uid):

查看第134ff行附近的
typo3/sysext/cms/tslib/content/class.tslib\u content\u content.php

要解决此问题,您可以使用XCLASS
tslib\u content\u content
或在MySQL中创建一个视图,将数据显示为不同的表:

CREATE VIEW tx_myclients_view
AS 
    SELECT * 
    FROM tx_myclients
我相信还有很多其他的解决办法


编辑 对于视图部分(比XCLASS更容易):

  • 在MySQL工具中使用上述SQL语句
  • 将表/视图名称替换为与表匹配的名称(视图也必须以
    tx\uu
    开头)
  • 现在,MySQL数据库中有一个“表”,它是真实表的精确“副本”(*),只是名称不同而已
  • tx\u myclients
    中选择第一个循环,从
    tx\u myclients\u view
    中选择第二个循环,这样两个循环都有独立的缓存
(*它实际上不是一个副本,而是一个表。当您从中选择时,它会从
CREATE VIEW
语句中运行select语句。
换言之,如果你在原始版本上涂鸦,它会反映在视图中。)

我希望如此,因为我不知道XCLASS或视图是什么:(@Dbugger:我已经更新了我的答案,并添加了关于
视图的详细解释使用表的“副本”有效?正如你在我的示例中看到的,我使用了两个不同的表,“txu myclients”和“页面”,这也停止了外部循环。。。
CREATE VIEW tx_myclients_view
AS 
    SELECT * 
    FROM tx_myclients