1

2 つのカーソルからの結果を並べ替えたい。

2 つのカーソルが と であると考えてみましょcursor1cursor2

Cursor1テーブル XCursor2使用され、テーブル Yに使用されます。

Cursor1タイプ日付の列StartCursor2を使用してデータをソートし、タイプ date の列Dateを使用してデータをソートしています。

両方のテーブルで共通のフィールドとそうでないフィールドがあります。

ただし、2 つのテーブル間に絶対的な関係はありません。

問題は明らかです。結合されたデータは、両方のカーソルからソートされたリストである必要があります。

現在起こっていることは次のとおりです。

Cursor1cursor からのソート済みリストとは独立した、カーソルからのソート済みリストを取得していますCursor2

両方の日付でソートされたリストを取得するために、結果のカーソルデータをマージする方法 ( Start and Date) ?

例えば:

私はこの結果を得ています:

| Date                 | Type        | Location              |
|:---------------------|------------:|:---------------------:|
| 10-Jul-2013 07:05:00 | Random      | Washougal, Washington
| 10-Jul-2013 08:30:00 | Single      | Vancouver, Washington
| 10-Jul-2013 07:30:00 | Multiple    | Vancouver, Washington
| 10-Jul-2013 15:31:00 | Double      | Vancouver, Washington

上記の結果では、最初の 2 行はテーブル X からのもので、最後の 2 行はテーブル Y からのものです。

しかし、私はこの結果が欲しい:

| Date                 | Type        | Location              |
|:---------------------|------------:|:---------------------:|
| 10-Jul-2013 07:05:00 | Random      | Washougal, Washington
| 10-Jul-2013 07:30:00 | Multiple    | Vancouver, Washington
| 10-Jul-2013 08:30:00 | Single      | Vancouver, Washington
| 10-Jul-2013 15:31:00 | Double      | Vancouver, Washington

クエリは次のようにする必要があります。

Cursor1 = Select alpha, beeta, gamma, Remark, id, number from X order by Start ASC


Cursor2 = Select Type, Date, gamma, Location, Obs, number from Y order by Date ASC

Cursor1 から結果を取得した後、次のようなループで文字列 html を作成しています。

String itemList = "";

itemList += "<tr><td align='left' width='28%' style='font-size:8px;padding-left: 15px'>"
    + cursor1.getString(1)
    + "</td><td width='16%' style='font-size:8px'>"
    + cursor1.getString(0)
    + "</td><td width='10%' style='font-size:8px'>"
    + cursor1.getString(2)
    + "</td><td width='20%' style='font-size:8px'>" 
    + "</td><td width='35%'>" + cursor1.getString(3) + "</td></tr>";

次に、この itemList をさらに結果に追加して、Cursor2両方のカーソルからの itemList を完成させます。

最終的な itemList は、レイアウトでhtmlとして表示されます。

4

1 に答える 1