[MySQL] Sorteren op een kolom binnen een andere kolom

Pagina: 1
Acties:

  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Ik heb een tabel artikel_nummers met de volgende structuur:
Artikelnummer|ProductID|Priority|Omschrijving

Very straight dus. Een product heeft 1 of meer artikelnummers dus er kunnen meer van dezelfde ProductID's voorkomen in de tabel.

Om producten met dezelfde ProductID te kunnen sorteren heb ik de kolom Priority aangebracht. Het artikelnummer met de eerste priority moet ook als 1e worden getoond dus (priority 1 als 1e, priority met waarde 2 als 2e)

Daarnaast heb ik een simpele tabel waar alle producten bijgehouden worden:
ProductID|Productnaam

Stel nu dat ik de artikelnummers wil hebben van alle producten gesorteerd op de Productnaam, dan doe ik het volgende:

SELECT Artikelnummer,Omschrijving,Productnaam,producten.ProductID
FROM artikel_nummers INNER JOIN producten USING(ProductID) ORDER BY Productnaam

Echter nu wordt er alleen gesorteerd op de productnaam. Nu wil ik dat alle artikelnummers die aan hetzelfde product gekoppeld zijn ook daar binnen nog gesorteerd worden op het veld Priority binnen de productnaam.

Aangezien MySQL geen subquery's ondersteunt heb ik geen idee hoe ik dit voor elkaar zou kunnen krijgen.

Natuurlijk kan ik ook een oplossing in PHP hiervoor bedenken, maar natuurlijk wil ik dit probleem het liefst via MySQL oplossen.
Iemand een idee?

It’s nice to be important but it’s more important to be nice


  • whoami
  • Registratie: December 2000
  • Nu online
code:
1
ORDER BY productnaam, priority

:?

Ik snap niet waarom je een subquery zou nodig hebben...

https://fgheysels.github.io/


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 12:42

Janoz

Moderator Devschuur®

!litemod

Sorteren op meerdere velden heeft niks met subqueries te maken. Kijk eens bij de syntax van order by in de manual.. Dan zul je ontdekken dat je meerdere velden kunt meegeven waarop moet worden gesorteerd...

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 21:12

gorgi_19

Kruimeltjes zijn weer op :9

[gokmodus]
SELECT Artikelnummer,Omschrijving,Productnaam,producten.ProductID, Priority
FROM artikel_nummers INNER JOIN producten USING(ProductID) ORDER BY Productnaam,Priority
[/gokmodus]
edit:

Hmm.. /me is traaaaaaaaaaaag.. :'(

[ Voor 13% gewijzigd door gorgi_19 op 10-01-2003 15:47 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Sorry wat ben ik noob bezig zeg (ja het is vrijdag) 8)7
Ik ging er al vanuit dat dit niet kon in MySQL gezien de meerdere limitaties van MySQL.
Ik ga het gelijk even proberen.

It’s nice to be important but it’s more important to be nice


  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Ik denk dus weer veel te moeilijk, want dit werkt gewoon. Ik ga even koffie drinken denk ik. :*)

It’s nice to be important but it’s more important to be nice

Pagina: 1