1

週番号とIDを含むテーブルがあります

| id | week |
| 1  |  1   |
| 2  |  2   |
| 3  |  6   |
| 4  |  8   |

私がする必要があるのは、週の値に基づいて取得することです。ただし、行が特定の数より大きい場合は、その行を複数回返す必要もあります。

たとえば(疑似)、

if week > 2
and week > 6

| id | week |
| 2  |  2   |
| 3  |  6   |
| 3  |  6   |
| 4  |  8   |
| 4  |  8   |

ID3とID4は、2と6の両方よりも大きいため、2回表示されます。ID2は、2よりも大きいため、1回だけ表示されます。

残念ながら、ループされたクエリは、このクエリが2k以上の行を返すため、問題外です。

ソリューションがPHPベースであっても、どんな助けでも大歓迎です。

4

1 に答える 1

5

ここに画像の説明を入力してくださいクエリを複数のクエリに分割し、を使用して結果をマージしUNIONます。

以下はあなたが望む結果を与えるはずです。

(SELECT * FROM yourTable WHERE week > 2)
UNION ALL
(SELECT * FROM yourTable WHERE week > 6)

編集にはリリーによるヒントが含まれていました--thx。

于 2012-04-27T10:15:24.527 に答える