Access 2007 оставил соединение и нули - PullRequest
0 голосов
/ 06 декабря 2010

Я запустил следующий простой запрос, который выглядит как в примере ниже: (Вкратце; один заказ содержит от 1 до N элементов, а внешний ключ - это order_id в элементах таблицы)

SELECT orders.*, items.*
FROM orders
LEFT JOIN
items ON orders.id= items.order_id

Это показывает что-то вроде:

order.id    item.id
   1           34
   1           22
   1           90
   2           44
   2           19
   2           21
   2           22

Я хочу вывод как:

order.id    item.id
   1           34
               22
               90
   2           44
               19
               21
               22

Как этого добиться в Access 2007?

Спасибо заранее, Милуд Б.

1 Ответ

1 голос
/ 06 декабря 2010

Единственный способ, которым я могу думать об этом, - это самостоятельное соединение с совокупностью.Это будет легче / лучше обрабатываться в вашем приложении.

SELECT
         IIF( i2.id = MIN(i.id), i.order_id, NULL) AS order_id,
         i2.id AS item_id
FROM     items i
         INNER JOIN orders o
         ON       o.id= i.order_id
         LEFT JOIN items i2
         ON       i2.order_id=i.order_id
GROUP BY i.order_id
ORDER BY i.order_id,
         i2.id
...