|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
30.05.2014, 07:22 | #1 |
Форумчанин
Регистрация: 29.09.2009
Сообщений: 587
|
Выбор из нескольких таблиц в зависимости от параметра
Добрый день.
Возможно ли сделать следующее в одном запросе выводить данные из первой таблички только заместо idAgent подставлять данные из поля FIO второй и третей таблички в зависимости от хранящегося параметра в поле TypeAgent есть 3 таблички Первая основная ------- id idAgent TypeAgent некие данные ------- Вторая хранит фио лиц у которых поле TypeAgent = 1 id=idAgent из первой таблички FIO ------ Третья хранит фио лиц у которых поле TypeAgent = 2 id=idAgent из первой таблички FIO __________ можно ли как то это реализовать в одном запросе или придется идти на ухищрения? |
30.05.2014, 07:30 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Например так, а вообще-то и от СУБД зависит
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
30.05.2014, 07:32 | #3 |
Форумчанин
Регистрация: 29.09.2009
Сообщений: 587
|
СУБД MySql
буду разбирать ваш пример спасибо вроде понятно что значит t.* t-обстрактная таблица *- все поля? И еще если у меня более 2-х типов чем можно else заменить? Последний раз редактировалось Lokos; 30.05.2014 в 07:36. |
30.05.2014, 07:43 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Дык почитай про синтаксис CASE
http://dev.mysql.com/doc/refman/5.0/en/case.html
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
30.05.2014, 07:48 | #5 | |
Форумчанин
Регистрация: 29.09.2009
Сообщений: 587
|
Цитата:
Код:
|
|
30.05.2014, 08:11 | #6 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
угу. точно.
или даже так (case и такое, имхо, допускает): Код:
Если, вдруг, число типов агентов не жестко задано (раз и навсегда, строго 3), а может изменяться, то вам нужно будет добавлять ещё одну таблицу в базу (и во все запросы). А это кривизна и свидетельствует о неверной структуре БД! |
30.05.2014, 08:14 | #7 |
Форумчанин
Регистрация: 29.09.2009
Сообщений: 587
|
строго 3 группы
А что за проблема с отзывами всегда пишет "Вы должны добавить отзыв прежде кому то еще ..." |
30.05.2014, 08:17 | #8 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Можно было все ФИО в одну таблицу засунуть с типом соответствующим
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
30.05.2014, 08:24 | #9 |
Форумчанин
Регистрация: 29.09.2009
Сообщений: 587
|
можно было бы но уже сделано так, и придется править более 300 записей(
но с другой стороны уменьшится количество таблиц и упростится данный запрос но усложнятся другие, что будет выгодней с вашей точки зрения добавить в одну таблицу все фио и добавить дополнительное поле отвечающее за группу и стереть 2 таблицы, или оставить как есть? |
30.05.2014, 08:26 | #10 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Выгодней сделать правильно
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Расчитать функцию y(х) в зависимости от введенного параметра А | gessi | Компоненты Delphi | 6 | 04.02.2020 21:34 |
Цвет строки ListBox через цикл в зависимости от параметра | waka2ebawer | Общие вопросы Delphi | 2 | 11.07.2013 23:28 |
Расчёт в зависимости от выбор | Lolalul | JavaScript, Ajax | 0 | 01.10.2012 03:05 |
сложный выбор данных из нескольких таблиц | v.v.1992 | C/C++ Базы данных | 1 | 12.04.2012 06:28 |
Выбор строки из заданного параметра | Antoha21 | Microsoft Office Excel | 3 | 24.07.2009 12:21 |