Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jak uprościć zapytanie?
qbal
post
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 24.11.2006

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


Witam,

mam pewein problem odnosie zapytania do bazy danych

oto tabelka:
  1. +-------------+---------+------+-----+---------+-------+
  2. | FIELD | Type | NULL | KEY | DEFAULT | Extra |
  3. +-------------+---------+------+-----+---------+-------+
  4. | id_obiekt | int(11) | NO | MUL | | |
  5. | wierzcholek | int(11) | NO | | | |
  6. | waga | int(11) | NO | | | |
  7. +-------------+---------+------+-----+---------+-------+


Tabelka reprezentije graf. Krawedz w grafie zapisuje jako (pierwszy punkt, drugi punkt, waga).
dla prszykladu mam taka sciezke: 1,6,7,12,4 i chce aby baza zwrocila mi wagi (ewentualnie ich sume) poszczegolnych krawedzi. Czy da sie skrocic jakos to zapytanie:
  1. SELECT waga FROM nastepniki WHERE (id_obiekt=1 AND wierzcholek=6) OR (id_obiekt=6 AND wierzcholek=7) OR (id_obiekt=7 AND wierzcholek=12) OR (id_obiekt=12 AND wierzcholek=4);


Jestem poczetkujacy w SQL. Uzywam MySQL 5. Prosze o podpowiedz
--
Kuba
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
frickle
post
Post #2





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 20.04.2006
Skąd: Kraków/Lublin/Lubartów

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


A w czym będziesz tą bazę wykorzystywał? w php? Ja jakoś nie widzę możliwości uproszczenia tego zapytania jeżeli chcesz otrzymać odpowiedź bezpośrednio z bazy. ewentualnie jeżeli chcesz dostać sumę to zamiast select waga from, wpisujesz select SUM(waga) from i dostaniesz na wyjściu sumę wag.

Jeśli zapytanie będzie wykonywane spod jakiegokolwiek języka programowania, to chyba najlepiej byłoby sumować to na poziomie języka, czyli napisać funkcję która czyta wagi pomiędzy punktami, a potem ją wywoływać cyklicznie dla wszystkich par wierzchołków.
Go to the top of the page
+Quote Post

Posty w temacie


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 Aktualny czas: 17.10.2025 - 02:46