![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 21.08.2014
Сообщений: 8
|
![]()
Доброго времени суток.
Есть БД с опросными листами (анкетами) схема данных во вложении. в таблице: questionnaires - названия опросных листов; questions - вопросы для опросных листов с привязкой к названию о.листа; answers - стандартные ответы на вопросы с привязкой к вопросу; users - имя пользователя заполняющего о.лист; profile - собственно заполненный опросный лист, привязка пользователя и ответа. Соответственно в системе есть несколько опросных листов. Появилась необходимость выбирать тех пользователей у которых есть незаполненные (хотя бы один) опросные листы. Могу получить список пользователей и заполненных опросных листов...но хз что мне это даст... собственно я в ступоре и прошу Вашей помощи / идей. |
![]() |
![]() |
![]() |
#2 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,542
|
![]() Цитата:
Код:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 17.09.2014 в 14:31. |
|
![]() |
![]() |
![]() |
#3 | |
Регистрация: 21.08.2014
Сообщений: 8
|
![]() Цитата:
я также привел схему данных для того чтобы не было рассогласованности в ответе... что за тбл list и anketa? и причем тут установленное количество анкет? количество опросных листов может увеличиваться (опционально) |
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Что такое незаполненный опросный лист?
1. Нет ответа юзера хотя бы на один вопрос листа 2. Нет ответа юзера ни на один вопрос листа
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#5 |
Регистрация: 21.08.2014
Сообщений: 8
|
![]()
2. Нет ответа юзера ни на один вопрос листа
TRUE |
![]() |
![]() |
![]() |
#6 |
Регистрация: 21.08.2014
Сообщений: 8
|
![]()
В общем сделал так:
Код:
НО может есть какой другой, возможно более красивый, вариант? |
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Что-то типа - выбрать всех юзеров, для которых существуют такие опросные листы, у которых нет ни одного ответа юзера? Типа такого
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#8 |
Регистрация: 21.08.2014
Сообщений: 8
|
![]() |
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
А что допускается в перечне Select-а? Поля, выражения, подзапросы, *. Константа разновидность выражения. По идее это быстрей, чем ту же звездочку в данном случае писать. Кстати, хоть в вашем запросе куча left join-ов, вполне возможно, что он быстрее моего варианта будет. Проверьте. Если мой вариант вообще рабочий ))
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#10 | |
Регистрация: 21.08.2014
Сообщений: 8
|
![]() Цитата:
я вот голову ломаю как сделать без под-запросов на соединениях Последний раз редактировалось lump; 17.09.2014 в 16:02. |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
MS SQL. Подскажите с составлением запроса. | Mixasik | SQL, базы данных | 4 | 13.10.2009 14:56 |
Прошу помощи. | Brian Lee Jones | Свободное общение | 0 | 19.06.2008 00:21 |