![]() |
![]() ![]() |
![]() |
![]() ![]()
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ł (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Wiecie trudno mi o tym mówić (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Pozdrawiam i dzięki za rady. |
|
|
![]()
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 (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) 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 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 726 Pomógł: 20 Dołączył: 8.12.2005 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Masz tu pełne, powinno działać tylko dla kuponów. Podstaw se tylko ".jakiś_id" (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
|
|
|
![]()
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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
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 |
|
|
![]()
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.
|
|
|
![]()
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ł (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) pisze inzynierke
|
|
|
![]()
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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) przynajmiej nie w moim zapytaniu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]()
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. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 00:33 |