2009-08-14 1 views
0

データベースから単一の列からデータを取得しようとしていますが、アルファベット順と2列にしたいと考えています。私は、リストを浮動試してみましたが、それはこのように見える終わる:
B_____E
C_____F
データベースアレイから2列リストを作成する

+0

あなたはこれを行うことで行の関係を壊している、それは許容可能ですか? – jcollum

答えて

1

A_____D:
A_____B私はこのように見えるためにそれをしたいと思い
E_____F


C_____D

最良の方法は、データベースから1列のazとして、そしてアプリケーションの再フォーマットでそれを返すことです。

0

私はあなたが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> 
0

私は、開発者はいくつかの作業を行う作る、KMに同意する - もののこの種は、手続き型のコードで行うことを容​​易にする必要があります。しかし、もし彼らが(2時間で私のような)休暇中であれば、このフランケンシュタインの質問はうまくいくでしょう。これはSQL 2005で共通のテーブル式を使用して行われましたが、一時テーブルを使用して類似したもの(さらに厄介な場合)が動作します。

;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」はソートする列です。シーケンスに重複や欠けがあっても問題ありません。奇数の項目がある場合、最後の右辺の値はnullになります。これを拡張して、2つ以上のカラムを返すことさえできます。

関連する問題