Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [sql] sąsiadujące wiersze
ka_ris
post 11.05.2010, 17:32:57
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 30.07.2009

Ostrzeżenie: (0%)
-----


Witam!

Borykam się z tym od paru godzin i niestety nic na temat tez nie znalazłem sadsmiley02.gif Problem wydaje się prosty - otóż mamy dwie tabele z których trzeba wyświetlić imię i nazwisko osoby która miała pożyczki zakładając że kolejna jest większą od poprzedniej. Czyli w tym wypadku tylko usera od id 1.
Czy w takim wypadku trzeba złączać tabelę pozyczka aż 3 razy? czy istenieje na to jakiś inny sposób, bo po takim złączeniu wyswietla mi zarówno pierwszego jak i drugiego (bo tez jego pożyczki rosną, z każda nastepną, ale nie są to pierwsze trzy). No i oczywiście dla dużej ilości danych takie kolejne złaczenia wpływają pewnie na szybkość.

Z góry dziękuję za odpowiedź.

+-----------+---------+-------+
| id_pozyczka | id_user | kwota |
+-----------+---------+-------+
| 1 | 1 | 100 |
| 2 | 1 | 200 |
| 3 | 1 | 300 |
| 4 | 2 | 100 |
| 5 | 2 | 200 |
| 6 | 2 | 200 |
| 7 | 2 | 300 |
| 8 | 2 | 400 |
+-----------+---------+-------+

  1. CREATE TABLE pozyczka
  2. (
  3. id_pozyczka int AUTO_INCREMENT PRIMARY KEY,
  4. id_user int,
  5. kwota float
  6. );
  7.  
  8. CREATE TABLE osoba
  9. (
  10. id int AUTO_INCREMENT PRIMARY KEY,
  11. imie varchar(255),
  12. nazwisko varchar(255)
  13. );


  1. INSERT INTO osoba(imie,nazwisko) VALUES ('jan','kowalski');
  2. INSERT INTO osoba(imie,nazwisko) VALUES ('robert','nowak');
  3.  
  4. INSERT INTO pozyczka(id_user,kwota) VALUES(1,100);
  5. INSERT INTO pozyczka(id_user,kwota) VALUES(1,200);
  6. INSERT INTO pozyczka(id_user,kwota) VALUES(1,300);
  7. INSERT INTO pozyczka(id_user,kwota) VALUES(2,100);
  8. INSERT INTO pozyczka(id_user,kwota) VALUES(2,200);
  9. INSERT INTO pozyczka(id_user,kwota) VALUES(2,200);
  10. INSERT INTO pozyczka(id_user,kwota) VALUES(2,300);
  11. INSERT INTO pozyczka(id_user,kwota) VALUES(2,400);
Go to the top of the page
+Quote Post
taktu
post 14.05.2010, 11:13:22
Post #2





Grupa: Zarejestrowani
Postów: 89
Pomógł: 7
Dołączył: 19.05.2008

Ostrzeżenie: (0%)
-----


skoro nikt jeszcze nie odpowiedział, to podpowiem (ewentualnie potomnym) że trzeba zrobić select 2 tabel i order by 2 kolumn, w 1 zapytaniu oczywiscie.

Ten post edytował taktu 14.05.2010, 11:14:10


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 07:15