Diskuze: Více řádků z 2. tabulky vratit na jednom řádku
V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 8 zpráv z 8.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.
Myslím, že nemůžeš jedním dotazem získat pomocí JOINu více než jeden řádek.
V html tabulce, kdy na konci řádku je malá tabulka
<table class="pracovnidoba"><tbody>
<tr><td>PO - SO</td><td>9:00 - 20:00</td></tr>
<tr><td>SO, NE</td><td>9:00 - 19:00</td></tr>
</tbody></table>
Pod kterou hodím
<table class="pracovnidoba red w100p"><tbody>
<tr><td> 5. 7.2014</td><td>9:00 - 18:00</td></tr>
<tr><td> 6. 7.2014</td><td>9:00 - 18:00</td></tr>
</tbody></table>
a naplním si ji něčím takovým
$ret = '<table class="pracovnidoba red">';
foreach ($arr as $key => $value) {
if($key==$date->format("d.m.Y")){
$key="Dnes";
}
$ret .= '<tr><td>'.$key.'</td><td>'.$value.'</td></tr>';
}
return $ret .= '</table>';
Říkal jsem si, že stačí z DB hodnota ve stringu kterou, si rozparsruju do pole a vykreslim jednoduchou tabulku.
Dle kódu soudím, že je to PHP. Asi bych to neřešil jedním složeným dotazem, vypsal bych si jedním dotazem to základní a pak při výpisu bych podle poboček vybíral dalším dotazem potřebné detaily...
Tak to byla dá se říct ta druhá možnost. Přesto jsem si říkal, že je
jednodušší přidat jednu property a upravit 1 dotaz a nezasahoval do
logiky.
Než vytrářet providery, readery, a 40 poboček nenačítat pomocí 1 SQL a
ale 40 + 1 SQL dotazů.
Sorry ze pozdnu odpoved.Aj ked je uz po sviatkoch, skus toto:
SELECT p.*, (SELECT GROUP_CONCAT(CONCAT(s.datum, '*', ps.text) SEPARATOR '~') AS svatecni_prodej
FROM pobocky AS p
JOIN pobocka_svatek AS ps
ON ps.poboclaId = p.Id
JOIN svatek AS s
ON s.id = ps.svatekId
WHERE p.zobrazovat = 1
AND s.visible = 1
ORDER BY s.datum;
Zobrazeno 8 zpráv z 8.