![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 5.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam, prosze o pomoc w następującym problemie:
1. mamy dwie tablice ->tablica '$table_name' zawierająca dane dotyczące autorów publikacji Kod id, number, surname gdzie w kolumnie 'number' podany jest kod numeryczny przypisany do danego autora (np. 10287), a w kolumnie 'surname' jego nazwisko ->tablica '$table_name2' zawierająca dane pozycji (publikacji) Kod id, author, language gdzie w kolumnie 'author' podane są kody numeryczne autorów danej publikacji (oddzielone przecinkiem jeśli więcej niż 1), a w kolumnie 'language' podany jest kod języka w którym opublikowany jest artykuł (np. dla języka angielskiego to 826 a dla polskiego to 616, zawsze pojedyńczy kod) 2. w wyniku zapytania do bazy chciałbym uzyskać listę autorów ale tylko tych którzy 'popełnili' artykuł w zadanym języku. Dobrze by też było uzyskać ich ilość. 3. wykreowałem poniższe zapytanie Kod query("SELECT `$table_name`.* FROM `$table_name`, `$table_name2` WHERE `$table_name`.number = `$table_name2`.author AND `$table_name2`.language = '$language' GROUP BY `$table_name`.number ORDER BY `$table_name`.surname ASC "); które działa poprawnie jeśli jest tylko jeden autor publikacji, przy kilku już nie nie. Wiem dlaczego tak się dzieje ale nie potrafię skonstruować właściwego zapytania aby uwzględniło także wpisy w których jest więcej autorów niż 1. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 07:37 |