Új hozzászólás Aktív témák

  • -=Flatline=-

    tag

    Sziasztok!

    Előre is köszönöm a segítséget. Viszonylag (nekem) komplex queryt kellene építenem és a segítségeteket kérném. Egy free wordpress plugin hiányosságait szeretném adatbázisban fixelni és attól tartok egyedül nem fog menni. Az most sajnos kivitelezhetetlen, hogy maga a plugin kód változzon és ez a query ami hiányzik csak egyszer, pont éjfélkor fut le, szóval nem folyamtos nyilván.

    Itt az SQLfiddle, az adatbázis struktúrával. A következőt szeretném elérni:

    http://sqlfiddle.com/#!9/1c3b4

    Meg kell keressek minden felhasználót név alapján, aki ugyanazon a napon, adott kvízID-vel HELYES=1 rekordot kapott. Jelen esetben ez

    SELECT * FROM prohardver WHERE kvizID=4 AND time >= '2015-04-01 00:00:00' AND time <= '2015-04-01 23:59:59'

    Amennyiben egy felhasználó több helyes értékkel is rendelkezik adott napon, vagy akár mellé helyes=0 sorral is, szeretném törölni mindegyik nem helyes sort ÉS egyetlen egy helyes=1 sort megtartani, amelyik a legkorábbi az adott napi dátum alapján. A fiddle-ben ez azt jelenti, hogy a végeredmény táblában az ötös sort tartjuk meg, míg az összes többi Flatline nevű törlődik.(Adott napra vonatkozólag) Mivel a query-nek minden nevet végig kellene néznie, ezért a Funny nevű is pontszámot kap, míg Lacey nem, mert az nem adott napon történő rekord.

    Ezen felül, amint már csak egy sor van adott névhez, a PONT oszlopot ezen egy megmaradt sorban szeretném updatelni az alapján, hogy a time mező mit mutat., azaz 8 óránként eltérő pontszám, így:

    SET pont = 150 WHERE time >= '2015-04-01 00:00:00' AND time <= '2015-04-01 08:00:00'
    SET pont = 100 WHERE time >= '2015-04-01 08:00:00' AND time <= '2015-04-01 16:00:00'
    SET pont = 50 WHERE time >= '2015-04-01 16:00:00' AND time <= '2015-04-01 23:59:59'

    Tudom ez egy picit sok, de a segítségeteket kérem, remélem a fiddle könnyebbé teszi.

    Much appreciated!

    [ Szerkesztve ]

    Calm Sea Doesn't Breed Skilled Sailors

Új hozzászólás Aktív témák