Tabell uppdrag m lite data(id är bara en oinstressant räknare):
id | styrelseid | funktionsid
56 | 68 | 1
50 | 67 | 2
54 | 69 | 4
53 | 71 | 5
55 | 74 | 5
....
57 | 68 | 11
58 | 68 | 12
- SQL-satsen "SELECT styrelseid FROM uppdrag ORDER BY funktionsid" ger(föga överraskande):
68
67
69
71
72
74
73
68
68
Eftersom jag endast vill ha unika styrelseid provade jag med följande:
2) SQL-satsen "SELECT DISTINCT styrelseid FROM uppdrag ORDER BY funktionsid" vilket ger:
67
69
73
71
72
74
68
- Why is denna bisarra ordning?
- SQL-satsen "SELECT MIN(funktionsid), styrelseid FROM uppdrag GROUP BY styrelseid ORDER BY 1" ger:
68
67
69
71
72
74
73
Helt korrekt o precis vad jag vill ha, men varför får jag inte samma resultat med alternativ två? :q
Engine^Medlem sedan dec. 20003 887 inlägg Det är ingen bisarr ordning
ORDER BY funktionsid
Du kanske inte tänker på vad du sorterar efter... ;)
LarsGMedlem sedan dec. 200012 464 inlägg Det är frågan som är bisarr och den DBMS som tillåter den är också bisarr.
Aha, då får jag och Mysql vara bisarra tillsammans isåfall, tycker att den borde sagt ifrån när jag försökte med det andra alternativet och inte gett mig en resultatlista? :r :)
Sen tycker jag att tredje alternativet känns lite konstruerat, förvisso väl fungerande - förslag på alternativa "bättre" sätt att skriva frågan?
(Behöver jag tillägga att SQL inte inte ens är i närheten av min topplista över saker-jag-tycker-jag-är-bra-på...) :e
@ndersMedlem sedan juni 200032 969 inlägg Det luktade MySQL lång väg. :)
Den tredje frågan tycker jag ser okej ut, men har du verkligen givit oss rätt resultatexempel? Kommer 68 före 67?
Jo, styrelseid 68 motsvarar en person i en tabell "styrelse" och funktionsid 1 motsvarar posten ordförande i en tabell "funktion".
Person med id 67 är vice ordförande=funktionsid 2.
styrelse
styrelseid | fornamn | efternamn | ...pers uppgifter
68 | Anders | Andersson
67 | Bengt | Bengtsson
...
funktion
funktionsid | funktionsnamn
1 | Ordförande
2 | Vice ordförande
...
11 | Medlemsansvarig
Min tanke var att första leta upp persid för de i styrelsen, fallande ordning från ordförande o neråt i hierarkin, oavsett om de har flera uppdrag.
Sedan plocka ut pers uppgifter namn, adress osv och till sist lista upp de uppdrag de har i styrelsen.
- Borde jag ha separerat till två tabeller istället. En för "rena" styrelseuppdrag, en för extrauppdrag?
@ndersMedlem sedan juni 200032 969 inlägg Sorry, jag tänkte helt ruttet. :)
Jag läste helt enkelt fel i SQL-frågan, jag fick för mig att det var funktionsid du listade vid den tredje frågan.
Jag återkommer om jag lyckas tänka igenom vad du menar. :)
mvh