![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 61 Pomógł: 0 Dołączył: 10.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam! Mam problem.
Powiedzmy, że buduję pociąg (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) W tabeli przechowuję dane różnych wagoników. Każdy wagonik opisują takie dane jak ciężar, ilość miejsc dla pasażerów. W bazie takich wagoników wpisanych jest już wiele z różnymi wartościami. Stawiam warunek - wagony w pociągu mogą mieć max ciężar powiedzmy 100t. Jeżeli mam powiedzmy wagoniki po 2t, 10t, 3t, 4t to takich kombinacji może być wiele. Jak stworzyć odpowiednie zapytanie do bazy danych, aby zwrócone wyniki, inaczej mówiąc suma ich ciężarów, nie była wyższa od mojego założenia? Dodatkowo, zwrócone wyniki powinny być zawsze losowe, czyli tworzyć różne dozwolone kombinacje pociągów. Jak powinno wyglądać takie zapytanie? :/ Proszę o pomoc. Ten post edytował pc5 15.05.2009, 20:41:18 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 15 Dołączył: 15.11.2007 Skąd: Nowogród Bobrz. Ostrzeżenie: (0%) ![]() ![]() |
Nie uda Ci się tego zrobić zapytaniem do bazy. Ewentualnie w bazie, ale funkcją/procedurą składowaną (czyli de facto programem, tyle że napisanym jakąś odmianą SQL-a).
Najprościej to tak jak kolega wyżej napisał: ORDER BY RAND() i sumowanie. Jedynie, żeby nie pobierać całej tabeli możesz sobie wyliczyć ile max. rekordów będzie potrzebne pobierając minimalną wagę wagonika z tabeli. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 19:22 |