![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 162 Pomógł: 12 Dołączył: 20.12.2009 Skąd: Siedlce Ostrzeżenie: (0%) ![]() ![]() |
Przedstawię to na przykładach aby było nieco szybciej
Kod tabela cars : id | owner_id | vmax | [...] |8|9|120.00 |188|9|280.00 |113|9|187.20 |187|9|190.00 |140|51|355.96 |152|51|310.00 tabela users : id | active_car_id | [...] 9 | 113 51 | 152 Chodzi mi o uzyskanie 'id' z tabeli 'cars' gdzie 'owner_id'=users.id i vmax jest największe Rozwiązanie może być także po stronie php
potem chcę to wrzucić w pętlę i zrobić tak:
Z góry dzięki za pomoc! P.S. Rozwiązanie nie musi być optymalne, odpalę taki skrypt może raz na miesiąc, a do przerobienia ma tylko ~600 rekordów Ten post edytował foxbond 23.03.2011, 10:14:48 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 548 Pomógł: 105 Dołączył: 4.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 495 Pomógł: 245 Dołączył: 1.07.2009 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
LUB:
Ten post edytował sadistic_son 23.03.2011, 11:24:45 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 162 Pomógł: 12 Dołączył: 20.12.2009 Skąd: Siedlce Ostrzeżenie: (0%) ![]() ![]() |
Ani jedno, ani drugie nie działa.
Spróbuję trochę dokładniej opisać. Pierwsze zapytanie powinno zwrócić: Kod cid | vmax | uid 188 | 280 | 9 140 | 355.96 | 51 itd. dla następnych graczy i potem w pętli robię tak:
Proszę moderatora o przeniesienie tematu do działu bazy danych->mysql Z góry dzięki Ten post edytował foxbond 23.03.2011, 20:15:57 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 107 Pomógł: 30 Dołączył: 19.02.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Ponieważ sprawa (chyba) wykracza poza poziom przedszkola, podam rozwiązanie "etapowo" i z objaśnieniem:
Etap 1: Jak wyciągnąć rekordy najszybszych samochodów poszczególnych graczy (na razie pełne): Ciągniemy z "cars" te rekordy, dla których nie ma rekordu o takim samym owner_id i większej vmax. Ta kwerenda (nieco zmieniona) będzie "środkiem" finalnego rozwiązania. Etap 2 (finalny): Danymi z powyższej kwerendy trzeba update'ować tabelę users: Zwróć uwagę na 2 zmiany w zagnieżdżonej kwerendzie: 1. Po SELECT zamiast "*" jest "id", bo tą wartość trzeba wpisać do pola active_car_id (a nie cały rekord). 2. We frazie WHERE doszedł warunek "c1.owner_id = users.id" bo z wyniku zagnieżdżonej kwerendy trzeba dobrać (tylko 1) rekord dla danego user.id. W efekcie wszystko robisz jedną kwerendą, bez bawienia się w pętle w PHP. Ten post edytował Valdi_B 23.03.2011, 23:39:58 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 162 Pomógł: 12 Dołączył: 20.12.2009 Skąd: Siedlce Ostrzeżenie: (0%) ![]() ![]() |
Wielkie dzięki za pomoc!
Musiałem dać jedną poprawkę i wszystko śmiga (IMG:style_emoticons/default/guitar.gif)
( LIMIT 1 ) Ten post edytował foxbond 24.03.2011, 16:31:20 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 08:37 |