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
");
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.