Autor Zpráva
Neznámý
Profil *
Zdravím, mám 2 dotazy:

//1
$date = strtotime('-1 day', $date);
            $result = dibi::select('c.id as id, c.title, ci.incoming_users, ci.unique_incoming_users, [ci.order]')
                      ->from('campaign c')->leftJoin('campaign_info ci')->on('c.id = ci.id_campaign AND ci.date = ' . $date)
                      ->where('c.user_id = %i', $id)->orderBy('ci.incoming_users', 'DESC')->fetchAll();

  //2
$date = strtotime('-1 day', $date);

              $result = dibi::select('SUM([order]) as [order], SUM(unique_incoming_users) as unique_incoming_users, SUM([incoming_users]) as incoming_users')->from('campaign_info')
                            ->where('user_id = %i AND date = %i', intval($id), $date)->fetch();

Jeden záznam vezme všechny data a dá je do tabulky a druhý vypočítá celkové hodnty v poli. Problém je v tom, že mi nesedí hodnoty z tabulky se součtem. Nevíte někdo kde by mohl být problém? $date vrací stejné hodnoty i $id. Díky.
Tori
Profil
Nepoužíváte pokaždé user_id z jiné tabulky? Poprvé z campaign, podruhé z campaign_info.
Neznámý
Profil *
To je v podstatě jedno, protože v obou případech je id stejné.
Kajman
Profil
Neznámý:

To vybírá (či sčítá) jiné řádky, nemáte tam stejné podmínky, tak se není čemu divit.
Neznámý
Profil *
Problém je v tom, že když jsem vzal první dotaz a přepsal na druhý tak to stejně nebylo správně.
Kajman
Profil
Neznámý:
Problém je v tom, že když jsem vzal první dotaz a přepsal na druhý tak to stejně nebylo správně.

S tím se dá souhlasit, problém je v tom, že jste to nepřepsal správně.

V prvním dotaze hledáte kampaně uživatele. Ve druhém hledáte infa uživatele. Což nemusí zahrnout stejné řádky.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: