[SQL] ORDER_BY probleempje/beperking(?)

Pagina: 1
Acties:

  • Roel Broersma
  • Registratie: Maart 2000
  • Laatst online: 12-05 16:32
Ik heb een tabel (layout) zoals hieronder:

[TBL_ORDERS]
order_id
order_belong_to
order_customer_id
order_name
order_description


Voor een normale (hoofdorder) staat er in de tabel (bijvoorbeeld): order_id=1524, customer_id=152, order_belong_to=0.

Als ik een order heb die aan een andere order hangt (altijd van dezelfde customer/klant), dan staat er bijv: order_id=7582, customer_id=152, order_belong_to=1524.

Nu wil ik alle orders afbeelden van laten we zeggen order_customer_id=152.
Maar ik wil het netjes gesorteerd hebben op ORDER_ID met daaronder de SUB_ORDERS.

Voorbeeld:

Record1: order_id=257, customer_id=152, order_belong_to=0
Record2: order_id=783, customer_id=152, order_belong_to=257
Record3: order_id=789, customer_id=152, order_belong_to=257

Record4: order_id=355, customer_id=152, order_belong_to=0
Record5: order_id=356, customer_id=152, order_belong_to=355

Record6: order_id=900, customer_id=152, order_belong_to=0


Nu had ik zelf al de sql query bedacht:
code:
1
2
3
4
5
SELECT * FROM tbl_orders
WHERE     (order_customer_id=152) AND
                        (order_belong_to IN  (SELECT order_id FROM tbl_orders WHERE order_belong_to=0 AND order_customer_id=152)
                           OR
                          order_belong_to = 0)


Probleem is alleen dat ik hem nog niet zo netjes gesorteerd krijg.
Ik kan niet "ORDER BY order_id" doen want dan komt

...don't know what should be here...


  • whoami
  • Registratie: December 2000
  • Laatst online: 16:53
Waarom gebruik je een subquery, en geen self-join ?

Je kan toch dit doen:
code:
1
2
3
4
5
SELECT *
FROM tblOrders o, tblOrders so
WHERE o.order_customer_id = 152
and o.order_id = so.belongs_to
ORDER BY order_id, belongs_to

oid.

https://fgheysels.github.io/