Autor | Zpráva | ||
---|---|---|---|
Lisoe Profil * |
#1 · Zasláno: 13. 1. 2020, 20:28:07
Zdravím,
mám dotaz, mám následující tabulky: event_order id | event_id | ticket_type_id | tickets event_ticket_type id | event_id | name | pcs_from | pcs_to | price V event_order ukládám objednávky, takže jsem schopný zjistit, kolik lístků bylo prodáno pro daný ticket_type_id. Ovšem v event_ticket_type ukládám za kolik se má prodávat v dané vlně lístek (např. 0-100 lístků - 200 Kč, 101 - 200 lístků - 300 Kč). Zároveň můžou být dva typy lístků, takže pro jednu akci může být standard lístek (např. 2 vlny lístků) a VIP lístek (např. 1 vlna) - takže 3 záznamy v databázi. A já potřebuji poskládat dotaz, který mi automaticky zobrazí aktuálně běžící vlny. Zkoušel jsem následující dotaz: select t.id, t.name, SUM(o.tickets) tickets_total, if(SUM(o.tickets) >= pcs_from AND SUM(o.tickets) <= pcs_to, 1, 0) valid from event_ticket_type t left join event_order o on o.ticket_type_id = t.id where t.event_id = 1 group by o.ticket_type_id Chtěl jsem do valid ukládat, zda lístek zobrazit na webu nebo ne, ovšem ten dotaz nefunguje správně. Díky moc za radu! |
||
Kajman Profil |
#2 · Zasláno: 13. 1. 2020, 21:51:41
A nechybí v event_ticket_type sloupec s tím rozdělemín typu lístků? Nebo jak poznáte, že dva záznamy jsou normální lístky a jeden záznam je VIP?
|
||
Lisoe Profil * |
#3 · Zasláno: 13. 1. 2020, 22:01:01
Kajman:
On tam je ještě sloupec, kde se vyplňuje obrázek lístku (generuje se lístek, takže pro standardní je jeden vzhled a pro VIP jiný, zároveň je tam ještě doplňující text). Takže to tam není třeba pro moje potřeby. Pokud by to však bylo nezbytné, můžu to tam doplnit. Je to tam potřeba? Díky moc! |
||
Kajman Profil |
#4 · Zasláno: 13. 1. 2020, 22:09:54
Já bych si asi místo sloupců pcs_from a pcs_to dal jen počet lístků k dispozici celkem. Pak sečtete objednávky a rozdíl je zbývající počet. Buď pak nabídnete všechny nevyprodané a necháte na uživateli, aby si vybral výhodnější nebo VIP, nebo si uděláte ty skupiny a budete nabízet ty nejlevnější ze skupiny (maximálně tolik, kolik je volných).
Omezení od - do bych spíše čekal na datum prodeje. To by dovolilo zdražovat i časem bez ohledu na prodaný počet lístků (jen by si v tomto případě pro větší obecnost musely lístky sdílet počet kusů - nebo by byl automat, co neprodané a vypršené přesune do dalšího volného termínu). |
||
Lisoe Profil * |
#5 · Zasláno: 13. 1. 2020, 22:41:07
Kajman:
Asi moc nerozumim, každopádně tohle je specifický příklad, kdy ty vlny jsou doopravdy dle počtu lístků. Potřebuju vždy zobrazovat pouze tu aktuální vlnu, teoreticky se může stát, že budou "standardní" 2 vlny (0-100 / 200 Kč; 101-200 / 300 Kč) a VIP (0-10 / 400 Kč; 11-20 500 Kč). Bude prodáno standardních 75, takže se má zobrazit poze lístky za 200 Kč a VIP prodáno 14, takže se má zobrazit lístky za 500 Kč. Může i nastat situace, kdy by např. VIP neměl být k dispozici, protože bylo prodáno 20 lístků. Dá se to nějak rozumně vyřešit? Ještě jednou díky! |
||
Kajman Profil |
#6 · Zasláno: 13. 1. 2020, 22:49:57
Když tam budou takovéto sloupce
skupina_vln poradi_vlny listku cena 1 1 100 200 1 2 100 300 2 1 10 400 2 2 10 500 |
||
Časová prodleva: 1 rok
|
0