Mysql Lucee在SQL查询中需要重复的列

Mysql Lucee在SQL查询中需要重复的列,mysql,lucee,Mysql,Lucee,在Lucee Ubuntu、Firefox中编程,并且有一个查询,其中我需要重复的列。在从我的终端运行的通用SQL中,这正好产生了我所要求的结果。它在冷熔炉中工作得很好。但当我在Lucee中运行它时,它拒绝接受复制列的请求 <cfoutput> <cfset mylist = "PersonFn, PersonLn, PersonState, PersonLn"> <cfquery name = "betty" datasource = "Moxart">

在Lucee Ubuntu、Firefox中编程,并且有一个查询,其中我需要重复的列。在从我的终端运行的通用SQL中,这正好产生了我所要求的结果。它在冷熔炉中工作得很好。但当我在Lucee中运行它时,它拒绝接受复制列的请求

 <cfoutput>
 <cfset mylist = "PersonFn, PersonLn, PersonState, PersonLn">
 <cfquery name = "betty" datasource = "Moxart">
 select #mylist#
 from Person   
 limit 5
 </cfquery>
 </cfoutput>
当我得到这个查询的columnlist时,它只有3个条目,去掉了重复的列。当我针对输出运行报告时:

<cfset m = 0>
<cfoutput query = "betty">
<cfloop list = #mylist# index = "xxcol">
<cfset m = m + 1>
#betty[xxcol][currentrow]#
<cfif m EQ 4> 
<br>
</cfif>
</cfloop>
</cfoutput>
我得到这个错误: 在查询中找不到键[Personn],列为[PersonFn,Personn,PersonState]

我真的,真的需要那个重复的专栏。围绕这一点进行编程将是非常困难和痛苦的

我不能使用别名,因为实际列表是由用户选择的,无法知道他可能会选择什么,或者我可能有多少重复项。出于类似的原因,我无法在查询后重建数据以创建额外的列,因为我不知道它们是什么

更确切地说,我可能可以做这些事情,但是编程的数量和复杂性是非常重要的——所有这一切都是因为Lucee不会做一般MySql会做的事情


有人能想出一种方法,让那些重复的列返回到我的输出中,而无需进行重大编程吗

sql中不能有重复的列,例如,必须将其重命名为field1和field2


您所寻找的内容违反了Sql标准。

在重复的列中没有违反任何Sql标准。所有的RDBMs都能很好地处理它,只要你只有一个像OP中显示的select这样的表。你使用的编程语言就是必须处理它的语言,而在他的例子中,lucee没有。这个答案是完全错误和误导的。祝你好运,让它与一个合适的Sql server一起工作。。。。。。试着把它放在sql平台的查询窗口中,让它工作起来。不过它是mysql。什么样的mysql查询可以让你在一个查询中选择两列完全相同的名称?这里只是简单的一点。我从终端用原生MySql运行了查询。有一张桌子,里面有三个项目。我写了一个包含四项的选择,其中一项是重复的。它工作得很好。所以SQL定义没有问题。我把所有我想要的都简化为一个表——所有的连接和它们的输出都出现在代码的前面。冷聚变确实正确地处理了这一请求。Lucee没有。如果原生MySql给出了正确的答案,Lucee也应该如此。我认为您可以通过删除列列表并重命名重复的字段来解决问题,在您的情况下,它将拥有您当前的列表PersonFn、personn、PersonState、PersonLn,并使其与PersonFn、PersonLn、PersonState、PersonLn一样。虽然使用字符串进行连接是一种非常糟糕的做法,因为您的系统很容易进行sql注入。我不知道哪些列将被复制。还有其他想法吗?我知道注入问题,但只在输入或更新时遇到过,在选择时从未遇到过。这正是我的观点。您可以在原始列表中循环搜索重复项,然后像我说的那样创建新列表并将其发送到查询。你不需要知道,你需要搜索。你知道在列表中找到重复项的方法吗?然后拿着它们,这样我就可以给它们分配一个别名了?或者我可以手动操作吗?有数百万种方法,只要选择一种就可以了。是的,你必须实施它。请参见以下示例: