![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 31 Pomógł: 0 Dołączył: 11.07.2006 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam problem z napisaniem zapytania mysql. OPiszę najpierw co chciałbym osiagnac.
Chce wyświetlić posortowane firmy, które sa w katalogu wedle dwóch kreteriów. PIerwszy to data dodania , drugi data dokonania ostatniej platnosci. Wartosci tych pol mam wySELECTowane:
I chodzi mi o to zeby na stronie glownej portalu na gorze pojawialy się firmy na zasadzie: Każda firma przedłużająca pakiet (czyli placaca za niego) pokazuje się po przedłużeniu jako PIERWSZA – Ważne – NA STRONIE GŁÓWNEJ portalu . Tak samo jak to jest z firmami nowododającymi się. Domyslam sie ze musze uzyc formuly "IF" , ale moze sie myle. Czy ktoś może pomóc? .. ? - takie zapytanie nie dziala poprawnie gdyz tylko pierwszy ORDER jest brany pod uwage Ten post edytował neoangin 30.06.2011, 18:57:56 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 778 Pomógł: 84 Dołączył: 29.07.2010 Skąd: Gliwice / Pławniowice Mistrz niezmordowanej klawiatury. Ostrzeżenie: (20%) ![]() ![]() |
Tworzysz zapytania, jeżeli firmy istnieją, to je listujesz...
-------------------- LS Easter egg < |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 31 Pomógł: 0 Dołączył: 11.07.2006 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Wszystkie firmy istnieją. Chodzi o to że niektóre nowododane są "w okresie darmowym" - czyli nie mają daty płatności żadnej. Mam na szczęście flage z widoku, która mi mówi czy jest w okresie darmowym dana firma:
cs.isFreePeriod = 1 gdy w darmowym, cs.isFreePeriod = 0 gdy nie w darmowym idąc tropem dokumentacji : http://dev.mysql.com/doc/refman/5.0/en/con...function_ifnull myślę , że mogę użyć klauzuli CASE:
- tylko blędy mi sypie phpmyadmin, pewnie cos z ''. Skoryguje ktos? Ten post edytował neoangin 30.06.2011, 20:00:13 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 16 Pomógł: 6 Dołączył: 24.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 31 Pomógł: 0 Dołączył: 11.07.2006 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Niestety z GREATEST nie działa poprawnie. Sortuje tylko podbite firmy. Podejrzewam, że dlatego bo na tabele companyPayments jest LEFT JOIN.
Ale pokombinowalem z tym CASE i dziala teraz dobrze. Oto caly dzialajacy kod:
Ten post edytował neoangin 30.06.2011, 22:27:36 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.06.2025 - 09:42 |