Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Pobieranie danych z kilku tabel w wyszukany sposob
eMSi_113
post 16.01.2008, 16:31:27
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 16.01.2008
Skąd: UK

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


Witam Szacowne Grono,

moj pierwszy post i dosc klasycznie spowodowany problemem, o pomoc w ktorego rozwiazaniu Was prosze.

jestem w trakcie projektowania bazy danych, ktorej szkic widac ponizej.

CODE
divisions
+----+------------+--------------------------------+
| id | short_name | name |
+----+------------+--------------------------------+
| 1 | name1 | LONG NAME 1 |
| 2 | name2 | LONG NAME 2 |
| 3 | name3 | LONG NAME 3 |
| 4 | name4 | LONG NAME 4 |
| 5 | name5 | LONG NAME 5 |
| 6 | name5 | LONG NAME 6 |
+----+------------+--------------------------------+

categories
+----+------------+-------+
| id | name | order |
+----+------------+-------+
| 1 | category1 | 0 |
| 2 | category2 | 1 |
| 3 | category3 | 2 |
| 4 | category4 | 3 |
| 5 | category5 | 4 |
| 6 | category6 | 5 |
| 7 | category7 | 6 |
+----+------------+-------+

types
+----+--------------------+-------+
| id | name | order |
+----+--------------------+-------+
| 1 | type 1 | 0 |
| 2 | type 2 | 1 |
| 3 | type 3 | 2 |
| 4 | type 4 | 3 |
| 5 | type 5 | 4 |
| 6 | type 6 | 5 |
| 7 | type 7 | 6 |
+----+--------------------+-------+

list
+----+--------------------+----------+------------+-------+
| id | name | division | category | type |
+----+--------------------+----------+------------+-------+
| 1 | item 1 | 1 | 4 | 2 |
| 2 | item 2 | 5 | 2 | 5 |
| 3 | item 3 | 3 | 1 | 3 |
+----+--------------------+----------+------------+-------+



teraz wytlumacze z czym mam problem.
otoz tabela LIST to moja podstawowa tabela, ktora bedzie na bierzaco uaktualniana nowymi wpisami lub stare beda edytowane.
w tejze tabeli wartosci w kolumnach DIVISION, CATEGORY i TYPE odpowiadaja ID elementon z wyzszych tabel.

chcialbym sie dowiedziec jak pobrac dane z tabeli LIST, ktore bylyby posortowane wg nastepujacego klucza:
1) najpierw wg wartosci category order (czyli wartosc category dla item1 wynosi 4. wartosc order dla category 4 wynosi 3)
2) potem w analogiczny sposob wg wartosci type order

moja wiedza na temat MySQL jest raczej podstawowa i nie wykracza poza proste zapytania SELECT, INSERT, DELETE, UPDATE.
cos mi mowi ze to moze miec cos wspolnego z relacjami, niestety wszelkie informacje na temat relacji (ktore z reszta dotyczyly wylacznie Accessa) zostawilem za drzwiami podstawowki jakies 9 lat temu.

mam nadzieje ze nie trafilem na temat walkowany juz wielokrotnie.
jesli tak to z gory wyrazam skruche i prosze wylaczny i wskazanie kierunku/linku.

pozdrawiam.
Go to the top of the page
+Quote Post
Cezar708
post 16.01.2008, 16:45:06
Post #2





Grupa: Zarejestrowani
Postów: 1 116
Pomógł: 119
Dołączył: 10.05.2005
Skąd: Poznań

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


  1. SELECT *
  2. FROM list l, categories c, types t, divisions d
  3. WHERE l.category=c.id AND l.type=t.id AND d.division=d.id
  4. ORDER BY c.ORDER, t.ORDER
Go to the top of the page
+Quote Post
eMSi_113
post 16.01.2008, 17:12:11
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 16.01.2008
Skąd: UK

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


a czulem ze rozwiazanie moze byc proste winksmiley.jpg

ogromne dzieki
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: 22.06.2025 - 10:41