![]() |
![]() |
![]() ![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 129 Pomógł: 4 Dołączył: 21.02.2004 Skąd: z domu Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam dosyć nietypowy problem z zapytaniem SQL. Otóż chciałem się spytać kolegów czy jest taka możliwość, aby wyświetlić pewną ilość wierszy tylko trochę inaczej.
Wiem, ze można użyć do tego np. LIMIT i taki prosty przykład:
Tylko ja chce wyświetlić to tak, aby pokazywało mi 10 ostatnich kuponów (czyli tak jakby LIMIT po kupon.id tylko takiego czegoś nie ma) z tego przykładowego zapytania, a nie 10 ostatnich wierszy z tego select'a. Jak to najprościej załatwić? Wiem, że mógł bym to zrobić na poziomie php-a, ale mam pytanie czy jest możliwość zrobienia tego za pomocą SQL-a; Nie wiem czy ktoś mnie zrozumiał ![]() ![]() Pozdrawiam i dzięki za rady. -------------------- pomoglem wcisnij przycisk "pomogl" - dzieki...
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 726 Pomógł: 20 Dołączył: 8.12.2005 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
; Po 1. nie masz powiązania pomiędzy tablami, jak chcesz aby współpracowały. ja proponuje tak
ale musiałbyś pokazać mi strukturę obu tabel aby ci bardziej pomóc, choć powinieneś zastanowić się i spróbować dalej działać samemu. Kluczem jest aby dać w klauzuli where taki warunek aby wybierało tylko spośród kuponów ![]() Albo jeżeli chcesz zrobić to nie obciążając bazy użyj left joina dla "tabela"
Ten post edytował Wykrywacz 21.01.2009, 15:36:54 |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%) ![]() ![]() |
Jak chcesz pobrać 10 ostatnich kuponów, to robisz:
Kod SELECT * FROM kupon ORDER BY id DESC LIMIT 10 A jak potrzebna Ci jest inna tabela, to nie zapomnij o dodaniu jakiegoś warunku na złączenie, gdyż inaczej uzyskasz iloczyn kartezjański zawartości obu tabel. Ten post edytował Zyx 21.01.2009, 15:35:53 -------------------- Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 726 Pomógł: 20 Dołączył: 8.12.2005 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 129 Pomógł: 4 Dołączył: 21.02.2004 Skąd: z domu Ostrzeżenie: (0%) ![]() ![]() |
to jest tylko taki malutki przykład, oczywiście ze są razem powiązane i mam nie tylko 2 tabele ale 5
![]() wyglada to mniej wiecej tak: http://img177.imageshack.us/img177/4800/kuponfb4.jpg
i tutaj zapytanie jakie mam teraz. ale to zapytanie mnie satysfakcjonuje bo niby moge wyswietlic wedlug kuponow, ale jak dam LIMIT na 10 a kupon bedzie mial 11 typow to mi przytnie kupon. Ten post edytował gsk 21.01.2009, 16:11:25 -------------------- pomoglem wcisnij przycisk "pomogl" - dzieki...
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 726 Pomógł: 20 Dołączył: 8.12.2005 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
no to albo where'ujesz, albo left joinujesz, tak aby wyświetlało ci tylko to co ma odzwierciedlenie w tabeli kupony.
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 129 Pomógł: 4 Dołączył: 21.02.2004 Skąd: z domu Ostrzeżenie: (0%) ![]() ![]() |
a mogę dawać coś takiego jak join w joinie? jak mam wiecej tabel. bo z tym joinem już próbowałem wcześniej.
-------------------- pomoglem wcisnij przycisk "pomogl" - dzieki...
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 726 Pomógł: 20 Dołączył: 8.12.2005 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Pokarz pełnego selecta jakiego do tej pory zrobiłeś. Bo mam wrażenie że odrabiam ci zadanie domowe, zamiast pomóc znaleźć błąd.
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 129 Pomógł: 4 Dołączył: 21.02.2004 Skąd: z domu Ostrzeżenie: (0%) ![]() ![]() |
masz parę postów wyżej. za praca domowa jak byś zgadł
![]() -------------------- pomoglem wcisnij przycisk "pomogl" - dzieki...
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 726 Pomógł: 20 Dołączył: 8.12.2005 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
To zrób sobie najpierw selecta i zlicz ilość kuponów i potem tą wartość przekaż do limit $ilosc_kuponow
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 129 Pomógł: 4 Dołączył: 21.02.2004 Skąd: z domu Ostrzeżenie: (0%) ![]() ![]() |
ale to mi nic nie da
![]() ![]() -------------------- pomoglem wcisnij przycisk "pomogl" - dzieki...
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat Tylko ja chce wyświetlić to tak, aby pokazywało mi 10 ostatnich kuponów (czyli tak jakby LIMIT po kupon.id tylko takiego czegoś nie ma) z tego przykładowego zapytania, a nie 10 ostatnich wierszy z tego select'a. Jak to najprościej załatwić? Wiem, że mógł bym to zrobić na poziomie php-a, ale mam pytanie czy jest możliwość zrobienia tego za pomocą SQL-a; Skoro piszesz pracę inżynierską, to przejrzenie dokumentacji nie jest chyba problemem? Dostałeś już wiele sugestii, a tu (czyichś) prac domowych nie odrabiamy; zwłaszcza inżynierskich. Manual, manual i jeszcze raz manual. -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.07.2025 - 01:45 |