| 
                               
                                dekart 
                                
                                
                                
                                DaHost.Ru 
                                 
                                Зарегистрирован:  2005-03-26 
                                Сообщений: 81 
                                
                               | 
                              
                                Есть две таблицы: 
- Участники: 
Поля: номер по каталогу (число), кличка (строка), участие в шоу RingMono (лог.переменная) и т.д. 
- Шоу и результаты: 
Поля: название шоу, эксперт, дата, и семь полей (числовых) с номинациями: Best Kitten, Best Junior, Best Adult и др… 
 
ЗАДАЧА: В шаблоне компонента Участники нужно вывести полученные номинации, если они есть. 
 
В таблице «Шоу и результаты» хранится так: 
Best Kitten - 45 
Best Junior - 39 
Best Adult – 56 
Где 45, 39, 56 – это введенные вручную результаты в числовое поле Best Kitten, Best Junior или Best Adult. И эти же значения соответствуют номеру по каталогу участника NumCat (числовое поле в таблице Участники). 
Привязка: NumCat в таблице «Участники» равно одно из значений из семи полей Best Kitten, Best Junior, Best Adult и т.п… 
 
Сейчас так выводится: Монопородное шоу: Название шоу (23.04.2016), Фамилия эксперта: xxx 
Нужно: Монопородное шоу: Название шоу (23.04.2016), Фамилия эксперта: Best Adult 
Best Adult – это название поля в таблице «Шоу и результаты», где в числовом поле указан номер участника 56. 
 
Т.е. в запросе выше нужно сравнить NumCat с каждым полем Best Kitten, Best Junior, Best Adult, а также еще и добавить название самого поля. 
Вопрос: как вывести результат? 
 
Мой нынешний запрос к БД: 
Код:<?= ($f_RingMono ? " 
".listQuery("SELECT  
a.Subdivision_ID, a.Breeds, DATE_FORMAT(a.Date,'%d.%m.%Y') as DateMono, a.NameForDip, a.Expert,  
b.Message_ID, b.Experts 
FROM Message2057 as a, Message2056 as b 
WHERE a.Subdivision_ID = $sub AND a.Breeds like '%,8,%' AND a.Expert = b.Message_ID 
"," Монопородное шоу: \$data[NameForDip] (\$data[DateMono]), \$data[Experts]: xxx<br />")." 
":NULL) ?>   
 
И еще важный момент... RingMono может быть выбран, но в результатах не указан, т.е. участвовал, но не выиграл... В таком случае вообще запись не должна выводиться... 
Грубо говоря, нужно проверить, указан ли номер участника в одном из полей Best Kitten, Best Junior, Best Adult и др… и тогда вывести результат - Название поля. 
 
Помогите, пожалуйста, советом, как сделать. 
Буду благодарна за помощь!
                                
 
 dekart 
                               |