Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 从数据库数组生成两列列表_Database_List - Fatal编程技术网

Database 从数据库数组生成两列列表

Database 从数据库数组生成两列列表,database,list,Database,List,我试图从数据库中的一列中提取数据,但我希望将数据按字母顺序分为两列。我尝试浮动列表,但结果如下: A\uuuuuub C\uuuuuuud E\uuuuf 我希望它看起来像这样: A\uuuuuuud B____E C_uuuuf最好的方法是从数据库中以单列a-z的形式返回它,并在应用程序中重新格式化,然后按照您的意愿显示它您说的是float,所以我假设您正在编写html。。。你得把结果一分为二。像这样的 <div id="column-1" style="width: 49%; floa

我试图从数据库中的一列中提取数据,但我希望将数据按字母顺序分为两列。我尝试浮动列表,但结果如下:
A\uuuuuub
C\uuuuuuud
E\uuuuf

我希望它看起来像这样:
A\uuuuuuud
B____E

C_uuuuf

最好的方法是从数据库中以单列a-z的形式返回它,并在应用程序中重新格式化,然后按照您的意愿显示它

您说的是float,所以我假设您正在编写html。。。你得把结果一分为二。像这样的

<div id="column-1" style="width: 49%; float: left;">
  <!--first half here-->
</div>
<div id="column-2" style="width: 49%; float: left;">
  <!--second half here-->
</div>

我同意KM,让开发人员做一些工作——在过程代码中,这类工作必须更容易完成。但如果他们都在度假(就像我在两个小时内一样),这个弗兰肯斯坦式的查询就行了。这是在SQL2005中使用公共表表达式实现的,但是使用临时表也可以实现类似的功能(即使更笨拙)

;WITH SourceData (ProductId, EvenOdd)
 as (select ProductId, row_number() over (order by ProductId) EvenOdd
     from Products)
,OddData (ProductId, OrderNum)
  as (select ProductId, row_number() over (order by EvenOdd) OrderNum
  from SourceData
  where EvenOdd%2 = 1)
,EvenData (ProductId, OrderNum)
  as (select ProductId, row_number() over (order by EvenOdd) OrderNum
  from SourceData
  where EvenOdd%2 = 0)
SELECT od.ProductId, ed.Productid
 from OddData od
  left outer join EvenData ed
   on ed.OrderNum = od.OrderNum  

“ProductId”是要排序的列。无论序列中是否存在重复或间隙。如果项目数为奇数,则最后一个右侧值将为空。您甚至可以将其扩展为返回超过2列。

这样做会破坏行中的关系,可以接受吗?