![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 30.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Może ktoś z Państwa pomoże mi rozwiązać następujący problem.
Mamy 2 tabele tabela "test" ma następujące komórki id | nazwa | opis 1 | test | to jest test 2 | test 2 | to jest test 2 3 | ... | ... 4 | ... | ... tabela "nazwa" id | nazwa | wartości 1 | nazwa 1 | 1,2 2 | nazwa 2 | 1,4 3 | nazwa 3 | 1,4,2,3 jak zrobić zapytanie takie, że wybieram konkretny id z tabeli "nazwa" oraz wszystkie komórki z tabeli "test" które odpowiadają numeracji z tabeli "nazwa".wartości Ja poradziłęm sobie tak (w skrócie): select * from test; ... $t[ id ] = nazwa; select * from nazwa where id=5; ... $w = explode(',', $wartosc) for (...) echo $t[ ($w[$i]) ]; ale interesuje mnie bardziej profesjonalne podejście do tego problemu (może jest to możliwe zrobienie w jednym zapytaniu) Przy okazji ma ktoś jakieś ciekawe tutoriale to opisu zaawansowanych zapytań w mysql? Tak żeby były jeszcze opisane przykłady z użyciem IF, oraz @ (np. @val := if (...)). |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 30.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
Wydaje się mi, że nie ma potrzeby tworzenia dodatkowej (trzeciej) tabeli. Dodam, że w tabeli "nazwa" komórki "wartość" mogą przyjmować różne i losowe wartości. To tak jakbyśmy mieli tabelę "samochody", a druga tabela to "części" i w tabeli "samochody" dodając nowy samochód, dodalibyśmy (w jednej komórce) numery identyfikacyjne wszystkich użytych części (a to wszystko w jednym rekordzie).
Sądzę, że można to uczynić na jednym zapytaniu - zapewne trzeba użyć "magicznych" sztuczek i pewnie jeszcze pętli w zapytaniu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Może któryś ze spacjalistów ma jakiś pomysł. ps. ja ciągle się uczę mysql tak więc będe wdzięczny jak ktoś podzieli się ciekawymi opisami bardzo zaawansowanych zapytań i "sztuczek" w mysql (może być np. w języku angielskim). |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 21:09 |