Ladies and gentlemen, ich suche nach einer eleganteren Version:
es handelt sich um Werte eines Formularscripts, deswegen sind die ganzen Werte so kryptisch: sid ist die id des Eintrags, nid die id des Formulars, cid die des inputnamens ... there we go:
nid - sid - cid - no - data
Beispielseinträge zu _einem_ Eintrag
506 - 2 - 123123 - 0 - Joachim
506 - 2 - 123124 - 0 - 2
506 - 2 - 123124 - 1 - 10
506 - 2 - 123124 - 2 - 1990
506 - 2 - 123125 - 0 - whatever
(123124 speichert in 3 teilen ein datum)
Und nun will ich alle datensätze, bei denen das Jahr $jahr entspricht und die kombination aus y-m-d einer kalenderwoche $kw entspricht - zZ noch über 2 querys, wobei der erste die sid sich holt, und der zweite dann alle felder die zu der sid gehören
wie man unschwer erkennen kann, ist das ganze zZ ziemlicher murks und sehr unperformant - geht das irgendwie besser? Wobei ich das ganze noch nicht mal testen konnte - geht überhaupt ein JOIN, wenn das ON-Statement nicht eindeutig ist? (Haben ja zig einträge dieselbe sid)
// edit: kurzes update: es geht nicht (sid ist mehrfach belegt)
es handelt sich um Werte eines Formularscripts, deswegen sind die ganzen Werte so kryptisch: sid ist die id des Eintrags, nid die id des Formulars, cid die des inputnamens ... there we go:
nid - sid - cid - no - data
Beispielseinträge zu _einem_ Eintrag
506 - 2 - 123123 - 0 - Joachim
506 - 2 - 123124 - 0 - 2
506 - 2 - 123124 - 1 - 10
506 - 2 - 123124 - 2 - 1990
506 - 2 - 123125 - 0 - whatever
(123124 speichert in 3 teilen ein datum)
Und nun will ich alle datensätze, bei denen das Jahr $jahr entspricht und die kombination aus y-m-d einer kalenderwoche $kw entspricht - zZ noch über 2 querys, wobei der erste die sid sich holt, und der zweite dann alle felder die zu der sid gehören
PHP:
$query1 = "SELECT `sid` FROM {webform_submitted_data} as main
INNER JOIN {webform_submitted_data} as year
ON main.sid = year.sid
INNER JOIN {webform_submitted_data} as d
ON main.sid = d.sid
INNER JOIN {webform_submitted_data} as m
ON main.sid = d.sid
WHERE `cid` = '".$components['Datum von']."'
AND year.`no` = '2'
AND year.cid = '".$components['Datum von']."'
AND year.data = '".$year."'
AND d.`no` = '0'
AND d.`cid` = '".$components['Datum von']."'
AND m.`no` = '1'
AND m.`cid` = '".$components['Datum von']."'
AND WEEK(year.`data`-m.`data`-d.`data`, 1) = '".$week."'");
wie man unschwer erkennen kann, ist das ganze zZ ziemlicher murks und sehr unperformant - geht das irgendwie besser? Wobei ich das ganze noch nicht mal testen konnte - geht überhaupt ein JOIN, wenn das ON-Statement nicht eindeutig ist? (Haben ja zig einträge dieselbe sid)
// edit: kurzes update: es geht nicht (sid ist mehrfach belegt)
Zuletzt bearbeitet: