$item[0]->title='Alle partijen van Eerste Toernooi';
$item[0]->data->align=array('l', 'r', 'r', 'l', 'c', 'r');
$item[0]->data->aggregates=array(['UNIEK'], ['MAX', 'MIN'], ['MAX', 'MIN'], ['UNIEK'], [], ['UNIEK']);
$item[0]->data->sql = '
select
t.naam Toernooi,
refjaar Jaar,
Ronden,
concat(s1.voornaam, " ", s1.naam) Wit,
concat(mu.symboolwit, "-", mu.symboolzwart) Uitslag,
concat(s1.voornaam, " ", s1.naam) Zwart
FROM
' . TRN_PREFIX . 'toernooien t
JOIN
' . TRN_PREFIX . 'partijen p
on p.id_toernooi=t.id
JOIN
' . TRN_PREFIX . 'spelers s1
on p.speler1=s1.id
JOIN
' . TRN_PREFIX . 'spelers s2
on p.speler2=s2.id
JOIN
' . TRN_PREFIX . 'puntensysteem ps
on ps.id=t.puntensysteem
JOIN
' . TRN_PREFIX . 'mogelijkeuitslagen mu
on mu.id=p.uitslagid
WHERE
t.id=' . $ACTIEFTOERNOOI->ID . '
ORDER BY
speler1,
speler2';
$item[1]->title='Rechten voor clubs';
$item[1]->data->align=array('l', 'l', 'l', 'l', 'r', 'r');
$item[1]->data->aggregates=array(['UNIEK'], ['UNIEK'], ['UNIEK'], [], []);
$item[1]->data->sql = '
SELECT
concat(l.voornaam, " ", l.achternaam) Naam,
c.Club,
t.Taak,
uitleg Omschrijving,
Van,
Tot
FROM
' . TRN_PREFIX . 'clubs c
JOIN
' . 'POST__lidvanclub lvc
on lvc.clubid=c.id
JOIN
' . 'POST__leden l
on lvc.lidid=l.ID
JOIN
' . 'POST__member2rol mr
ON mr.member=l.ID
JOIN
' . 'POST__rollen r
ON R.id=MR.rol
JOIN
' . 'POST__rol2taak rt
ON RT.rol=R.id
JOIN
' . 'POST__taken t
ON RT.taak=T.id
WHERE
lvc.actief=1 AND
l.overleden=0 AND
true
ORDER BY
C.club,
l.voornaam,
l.achternaam,
1';
$item[2]->title='Dubbele ingavenpunten';
$item[2]->data->align=array('r', 'r');
$item[2]->data->aggregates=array([], []);
$item[2]->data->sql = '
SELECT
GROUP_CONCAT(id SEPARATOR ", "),
count(*) aantal
FROM
' . TRN_PREFIX . 'partijen p
WHERE
true
GROUP BY
speler1,
speler2
HAVING
count(id)>1
WHERE
t.id=' . $ACTIEFTOERNOOI->ID . '
ORDER BY
speler1,
speler2';
$item[3]->title='Afwezigheden dit seizoen';
$item[3]->data->align=array('l', 'l', 'r', 'r', 'r', 'l');
$item[3]->data->aggregates=array(['UNIEK'], ['UNIEK'], [], [], ['SUM'], ['UNIEK']);
$item[3]->data->sql = '
select
c.Club,
concat(l.Voornaam, " ",l.achternaam) Naam,
min(datum) Vroegste,
max(datum) Laatste,
count(datum) Aantal,
Door
FROM
(SELECT
`ID`, `NaamID`, `Datum`, `invoer`, `door`,
now(),
IF(MONTH(datum)>7, YEAR(datum), YEAR(datum)-1) seizoen
from
' . TRN_PREFIX . 'agenda_afwezig a
WHERE
#YEAR(datum)>=IF(MONTH(datum)>7, YEAR(now()), YEAR(now())-1) AND
IF(MONTH(datum)>7, YEAR(datum), YEAR(datum)-1)>=IF(MONTH(now())>7, YEAR(now()), YEAR(now())-1) AND
true
) a
JOIN
' . TRN_PREFIX . 'leden l
on l.id=a.NaamID
JOIN
' . TRN_PREFIX . 'lidvanclub lvc
on lvc.lidid=l.ID
JOIN
' . TRN_PREFIX . 'clubs c
on c.id=lvc.clubid
WHERE
(c.SPEELDAG-1)=WEEKDAY(a.Datum) AND
true
GROUP BY
c.id,
WEEKDAY(a.Datum),
l.voornaam,
l.achternaam,
door
ORDER BY
lvc.clubid,
l.voornaam,
l.achternaam';
$item[4]->title='Afwezigheden';
$item[4]->data->align=array('l', 'l', 'r', 'r', 'r', 'l');
$item[4]->data->aggregates=array(['UNIEK'], ['UNIEK'], [], [], ['SUM'], ['UNIEK']);
$item[4]->data->sql = '
select
c.Club,
concat(l.Voornaam, " ",l.achternaam) Naam,
min(datum) Vroegste,
max(datum) Laatste,
count(datum) Aantal,
Door
FROM
' . TRN_PREFIX . 'agenda_afwezig a
JOIN
' . TRN_PREFIX . 'leden l
on l.id=a.NaamID
JOIN
' . TRN_PREFIX . 'lidvanclub lvc
on lvc.lidid=l.ID
JOIN
' . TRN_PREFIX . 'clubs c
on c.id=lvc.clubid
WHERE
(c.SPEELDAG-1)=WEEKDAY(a.Datum) AND
true
GROUP BY
c.id,
WEEKDAY(a.Datum),
l.voornaam,
l.achternaam,
door
ORDER BY
lvc.clubid,
l.voornaam,
l.achternaam';
$item[5]->title='Volgende partijen';
$item[5]->data->align=array('r','r','r','l','r','l','r','l','r');
$item[5]->data->aggregates=array();
$item[5]->data->sql = '
SELECT
v.id,
Ronde,
speler1 ID_Wit,
concat(s1.voornaam, " ", s1.naam) Wit,
speler2 ID_Zwart,
concat(s2.voornaam, " ", s2.naam) Zwart,
date_format(r.Datum, "%d/%m/%Y") Datum,
v.gebruiker,
date_format(v.Changedate, "%d/%m/%Y %H:%i") Invoerdatum
FROM
' . TRN_PREFIX . 'volgenderonde v
join
' . TRN_PREFIX . 'spelers s1
on s1.id=v.speler1
join
' . TRN_PREFIX . 'spelers s2
on s2.id=v.speler2
join
' . TRN_PREFIX . 'volgenderondeinfo r
on r.id=ronde
where
v.id_toernooi=' . $ACTIEFTOERNOOI->ID . ' and
true
order by
r.datum desc,
r.id,
s1.naam';
$item[7]->title='# Partijen ingegeven door (1° gekozen toernooi)';
$item[7]->data->align=array('l','r');
$item[7]->data->aggregates=array(['UNIEK'], ['SUM']);
$item[7]->data->sql = '
Select
gebruiker Invoerder,
count(*) Aantal
from
' . TRN_PREFIX . 'partijen p
where
p.id_toernooi=' . $ACTIEFTOERNOOI->ID . '
group by
gebruiker
order by
gebruiker ';
$item[8]->title='Laatste login';
$item[8]->data->align=array('l', 'l', 'l', 'r', 'r', 'r');
$item[8]->data->aggregates=array(['UNIEK'], ['UNIEK'], ['UNIEK'], [], [], ['SUM','MIN','MAX']);
$item[8]->data->sql = '
SELECT
concat(l.Voornaam, " ", l.Achternaam) Naam,
c.club Club,
waar Pagina,
min(datum) "Eerste keer",
max(datum) "Laatste keer",
count(l.id) "Aantal keer"
FROM
' . TRN_PREFIX . 'log log
JOIN
' . TRN_PREFIX . 'leden l
on l.ID=log.userid
JOIN
' . TRN_PREFIX . 'clubs c
on c.id=log.clubid
group by
userid,
club,
waar
order BY
l.voornaam,
l.achternaam,
max(datum) desc';
$item[9]->title='Laatste login actieve leden';
$item[9]->data->align=array('r', 'l', 'l', 'r', 'r', 'r');
$item[9]->data->aggregates=array([], ['UNIEK'], [], [], [], ['SUM']);
$item[9]->data->sql = '
SELECT UNIEK
l.id
,c.club
,concat(l.Voornaam, " ", l.Achternaam) naam
, min(datum) "Eerste keer"
,if(max(datum) is null, "", max(datum)) "Laatste keer"
,if(max(datum) is null, 0 , count(l.id)) "Aantal keer"
FROM
' . TRN_PREFIX . 'log log
JOIN
' . TRN_PREFIX . 'leden l
on l.ID=log.userid
JOIN
' . TRN_PREFIX . 'lidvanclub lvc
on l.id=lvc.lidid
and lvc.clubid=log.clubid
JOIN
' . TRN_PREFIX . 'clubs c
on c.id=log.clubid
WHERE
lvc.actief or
true
GROUP BY
userid,
log.clubid
ORDER BY
l.voornaam,
l.achternaam';
$item[10]->title='Leden zonder wachtwoord';
$item[10]->data->align=array('l','l', 'l');
$item[10]->data->aggregates=array(['UNIEK'], ['UNIEK']);
$item[10]->data->sql = '
SELECT
concat(l.Voornaam, " ", l.Achternaam) naam,
c.Club
FROM
' . TRN_PREFIX . 'leden l
JOIN
' . TRN_PREFIX . 'lidvanclub lvc
on lvc.lidid=l.id
JOIN
' . TRN_PREFIX . 'clubs c
on c.id=lvc.clubid
WHERE
l.password="" AND
lvc.actief=1 and
true
ORDER BY
club,
Voornaam,
Achternaam';
$item[11]->title='Meikermis e-mails';
$item[11]->data->align=array('l','l','c','r','r');
$item[11]->data->aggregates=array([], [], [], ['SUM'], []);
$item[11]->data->sql = '
SELECT UNIEK
concat(Voornaam, " ", Naam) naam,
email "E-mail",
Geslacht,
count(wanneer) "Aantal deelnames",
max(year(wanneer)) "Laatste deelname"
FROM
MEIKERMIS__inschrijvingen
WHERE
email<>""
Group by
Voornaam,
Naam,
email
ORDER BY
Voornaam,
Naam';
<?php
$item[11]->data->sql = '
SELECT UNIEK
concat(Voornaam, " ", Naam) naam,
email "E-mail",
Geslacht,
count(wanneer) "Aantal deelnames",
max(year(wanneer)) "Laatste deelname"
FROM
MEIKERMIS__inschrijvingen
WHERE
email<>""
Group by
Voornaam,
Naam,
email
ORDER BY
Voornaam,
Naam';
?>
ik neem aan dat UNIEK eigenlijk UNIQUE had moeten zijn?
Daarom mislukt die query.
Daarnaast moet je eens uitzoeken hoe GROUP BY werkt, want dat klopt meerdere keren ook niet (zowel te veel als te weinig kolommen als ik het goed zie)
Vraag blijft: welk regelnummer staat in de foutmelding?
ok: kijken we naar de query die ik hier net plakte
SELECT
Hierna komen kolommen, of bewerkingen van kolommen die je wilt ophalen uit een tabel. (in dit geval inderdaad gewoon 1 tabel)
FROM
de naam van de tabel in kwestie
WHERE
wat eisen die je hebt voor de op te halen records
GROUP BY
als je functies als COUNT() en MAX gebruikt
ORDER bY
hoe sorteren we?
Terug uitgewerkt:
SELECT: je eerste kolom heet "uniek"? rare naam, en waarom staat er geen komma achter?
Door naar group by:
hier moeten alle velden staan die niet een aggregatie functie zijn.
Dat zouden voor jou die rare "uniek" en "naam", "E-mail" en "geslacht" zijn.
Order By:
je sorteertop voornaam en Naam.
Maar Voornaam zit niet in je resultset. Wel "naam" met een kleine "n"
Vandaar dat ik denk, dat je query rare resultaten kan geven, áls die al uitgevoerd kan worden.
--
en als je ipv UNIEK toch inderdaad UNIQUE zocht: dat zou niet nodig moeten zijn. Als dat wel zo lijkt, dan klopt je group-by stuk niet.