![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 293 Pomógł: 4 Dołączył: 28.01.2005 Ostrzeżenie: (0%)
|
Witam,
Mam problem, tworząc sobie baze danych postanowiłem takie informacje jak głosy w ankietach trzymać w osobnej tabeli. ( dzięki temu, mogłem na bieżąco wyświetlać ile osób zagłosowało z automatycznym wykluczeniem osoby skasowanej... kasuje osobe, kasuje jej wpis i już na stronie mam wynik -1 ) No i podobało mi się do czasu, kiedy nie postanowiłem zrobić funkcji która pozwalała by na wyświetlanie tylko i wyłącznie ankiet ( pytań ) które zostały odrzucone przez użytkowników. 50 głosów przeciwko, głosów za 3 no to niestety zamykamy, rozwiązane przenosimy do archiwum itp itd. I teraz problem nastał jak to zrobić aby w 1 zapytaniu typu SELECT wyświetlić wpisy które mają powiedzmy więcej niż 50 głosów przeciw. Mamy tabele: Ankiety [id] [reszta danych] 1 tytul 2 tytul drugi I druga tabela: Głosy [id] [ID ANKIETY] [TAK/NIE] 1 2 TAK 2 2 TAK 3 2 NIE id ankiety, to numer identyfikujący wpis z ankietą. Czy można zrobić jakieś zapytanie żeby wyświetlilo mi wpisy mające tylko powyżej 50 głosów na NIE ? Potem jak mi odpowiecie państwo na to pytanie, to zajmiemy się ustaleniem co zrobić aby jeżeli jest to możliwe, zbadać stosunek. Bo 50 głosów na NIE w stosunku do 3 na TAK jest złe A 50 głosow na NIE w stosunku do 300 na TAK decyduje jednak że ankieta zakonczyla sie pomyślnie. A 50 na NIE w stosunku do 51 na tak też nie decyduje.. Trzeba by to zrobić jakimś alogrymem podzielić /TAK / przez nie i zobacyzć stosunek, jeżeli będize zbyt mały, to znaczy że trzeba powtórzyć głosowanie... Był bym bardzo bardzo wdzięczny za pomoc, kiedyś sł←szałem o zapytaniach takich bardziej zaawansowanych, ale nie miałem okazji przetestować.. pozdrawiam Ten post edytował seba22 11.01.2009, 15:57:41 |
|
|
|
Post
#2
|
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza |
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 293 Pomógł: 4 Dołączył: 28.01.2005 Ostrzeżenie: (0%)
|
Tu problemem jest to, że tam są dane z innej tabeli, tzn z nie macierzystej :/
|
|
|
|
Post
#4
|
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza |
W takim razie zgłebiaj wiedzę również z zakresu złączeń tabel czyli wszelkiego rodzaju JOIN (konkretnie LEFT JOIN).
|
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%)
|
W takim razie zgłebiaj wiedzę również z zakresu złączeń tabel czyli wszelkiego rodzaju JOIN (konkretnie LEFT JOIN). po kiego czorta kiedy do: Czy można zrobić jakieś zapytanie żeby wyświetlilo mi wpisy mające tylko powyżej 50 głosów na NIE ? wystarczy proste podzapytanie ;p:
EDIT oki daję pełna odpowiedź ;p masz tu wszystkie dane a stosunek TAK/NIE możesz sobie w php policzyć choć da się to w zapytaniu SQL ale po co komplikować ;p:
Ten post edytował zegarek84 11.01.2009, 17:40:50 |
|
|
|
Post
#6
|
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza |
po kiego czorta Po takiego, że bez podawania gotowego rozwiązania kolega musiałby i tak zapoznać się z podzapytaniami, a wg mnie więcej korzyści osiągnie ze znajomości złączeń. Poza tym co jeśli będzie również chciał wyświetlić liczbę odpowiedzi "Nie" dla danej ankiety? może kliknij pomógł ;p A, to o to ci chodziło dając gotowe rozwiązanie. Gratuluję! PS: <ironia>"po kiego czorta" zastosowałeś tu złączenie?</ironia> |
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 781 Pomógł: 256 Dołączył: 29.06.2008 Ostrzeżenie: (0%)
|
|
|
|
|
![]() ![]() |
|
Aktualny czas: 29.12.2025 - 11:23 |