DB2-SQL Select Query для выборки первых нескольких записей на основе значения поля - PullRequest
0 голосов
/ 27 сентября 2019

введите описание изображения здесь Здравствуйте,

У меня было требование прочитать данные из 3 таблиц, а затем я должен обработать эти записи в целевой системе.Я написал запрос на выборку, как показано ниже, для извлечения данных.

В таблице A есть такие поля, как A1, A2, A3, A4, A5

В таблице B есть такие поля, как B1, B2, B3 * 1009.*

В таблице C есть такие поля, как C1, C2, C3

Кроме того, функция используется для исключения нескольких записей из результата запроса выбора.

select A1,A2,A3,A4,A5,B1,B2,B3,C1,C2,C3 
  from tableA 
    left outer join tableB 
      on (tableA.A1=tableB.B1) and (tableA.A2=tableB.B2) 
    left outer join tableC 
      on (tableA.A1=tableC.C1) 
  where ORDERDATE='01/01/2019' 
Except 
select A1,A2,A3,A4,A5,B1,B2,B3,C1,C2,C3 
  from tableA 
    left outer join tableB 
      on (tableA.A1=tableB.B1) and (tableA.A2=tableB.B2) 
    left outer join tableC 
      on (tableA.A1=tableC.C1) 
  where ORDERDATE='01/01/2019' 
    and tableA.A3='Y'

Теперь этот запрос работает нормально и возвращает1000 записей показаны ниже.

(или, пожалуйста, проверьте вложение / ниже ссылки для вывода изображения в правильном выравнивании)

Вывод данных для вышеуказанного запроса -Image-Attachment

+------------+--------------+---------------+----------+------+------+------+----------+------+------+----------+
| A1 (order) | A2(Sequence) | A3(orderDate) |    A4    |  A5  |  B1  |  B2  |    B3    |  C1  |  C2  |    C3    |
+------------+--------------+---------------+----------+------+------+------+----------+------+------+----------+
| 1111       |            1 | 1/1/2019      | wqe      | 3e   | 1111 | qq   | 1/1/2019 | 1111 |    1 | 1/1/2019 |
| 1111       |            2 | 1/1/2019      | qe       | 4r   | 1111 | aa   | 1/1/2019 | 1111 |    2 | 1/1/2019 |
| 1111       |            3 | 1/1/2019      | qwe      |      | 1111 | ss   | 1/1/2019 | 1111 |    3 | 1/1/2019 |
| 2222       |            1 | 1/1/2019      |          | tg   | 2222 | cc   | 1/1/2019 | 2222 |    1 | 1/1/2019 |
| 3333       |            1 | 1/1/2019      | eqw      |      | 3333 | vv   | 1/1/2019 | 3333 |    1 | 1/1/2019 |
| 3333       |            2 | 1/1/2019      | qweq     | 5y   | 3333 | bb   | 1/1/2019 | 3333 |    2 | 1/1/2019 |
| 3333       |            3 | 1/1/2019      |          | 5u   | 3333 | nn   | 1/1/2019 | 3333 |    3 | 1/1/2019 |
| 3333       |            4 | 1/1/2019      | qwe      |      | 3333 | mm   | 1/1/2019 | 3333 |    4 | 1/1/2019 |
| 4444       |            6 | 1/1/2019      |          | 4g   | 4444 | mn   | 1/1/2019 | 4444 |    6 | 1/1/2019 |
| 9999       |            7 | 1/1/2019      | wqw      | 8m   | 9999 | yu   | 1/1/2019 | 9999 |    7 | 1/1/2019 |
+------------+--------------+---------------+----------+------+------+------+----------+------+------+----------+

но я хочу изменить мой запрос на выборку, чтобы получать все записи по одному заказу за раз.чтобы я обработал эти записи и изменил их статус. Затем в следующий раз, когда я выполню запрос, он извлечет записи для следующего заказа «2222» и т. д.

Итак, приведенный выше пример: если я запускаювыберите запрос, мне нужно получить записи только для заказа 1111 (первые 3 записи).

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...