Форум программистов, компьютерный форум, киберфорум
Наши страницы

Microsoft SQL Server

Войти
Регистрация
Восстановить пароль
 
Mcr
10 / 10 / 0
Регистрация: 30.01.2012
Сообщений: 364
#1

Неполучается правильно составить запрос - SQL Server

24.07.2014, 11:02. Просмотров 266. Ответов 2
Метки нет (Все метки)

Здравствуйте! я новичок в MS SQL, поэтому пришел к вам за помощью ув. форумчане.
Если что не внятно написал прошу простить и переспросить)

У меня есть две таблицы:
-Вопросы
-Ответы
И связь между ними (вложение)

В таблице "MessageForEmployer" есть три записи (Три вопроса)

А в таблице "AnswerQuestion" одно запись (один ответ на один вопрос из трех)

Теперь, я делаю вот такой запрос:
SQL
1
2
3
4
SELECT     MessageForEmployer.Text AS Question, MessageForEmployer.Id, AnswerQuestions.Text AS Answer, AnswerQuestions.QuestionId
FROM         MessageForEmployer INNER JOIN
                      AnswerQuestions ON MessageForEmployer.Id = AnswerQuestions.QuestionId
WHERE     (MessageForEmployer.TasksId = @TaskId) AND (MessageForEmployer.Type = 'q')
Мне выводит только одну запись там где есть ответ.
Но мне нужно, чтобы выводило все вопросы не важно с ответом или без. т.е. одна строка будет с ответом на вопрос, а в других строках, там где нет ответа, в колонке Answer нужно проставить null или просто оставить пустым.

Подскажите пожалуйста новичку, как это сделать?

Если что непонятно - задавайте вопросы, я постараюсь ответить
0
Миниатюры
Неполучается правильно составить запрос  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.07.2014, 11:02
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Неполучается правильно составить запрос (SQL Server):

Как правильно составить запрос? - SQL Server
БД 'Морской порт' Таблица кораблей: CREATE TABLE Ships ( id_ship INT NOT NULL PRIMARY KEY COMMENT 'Номер корабля', name_ship...

Простой запрос. Помогите правильно составить. - SQL Server
Надо добавить столбец в таблицу Access (рус. верс). ALTER TABLE Adr ADD (name text(255)) не прокатывает. Спасибо.

Как правильно составить запрос к базе данных? - SQL Server
Здравствуйте. Нужна помощь в составлении запроса к базе данных. Есть некоторая база данных в ней находятся таблицы. Есть одна...

Правильно ли написан запрос? - SQL Server
Задание: Определить штаты (кроме штатов Индиана, Канзас, Юта), в которых сумма цен выпущенных в них книг больше суммы цен книг, выпущенных...

Правильно ли я задал запрос? - Базы данных
Добрый день. У меня есть такая структура базы. У таблицы Calendar еще поле date есть. Я хочу извлечь записи из таблицы days_infos...

как правильно выполнить запрос? - Базы данных
$result = mysql_query("SELECT * FROM messages WHERE `num`=".$stat." ORDER BY id DESC LIMIT ".$start.", ".$num."", $db); или $result =...

2
iap
801 / 611 / 123
Регистрация: 27.11.2009
Сообщений: 1,814
24.07.2014, 11:18 #2
T-SQL
1
LEFT JOIN
И условия для правой таблицы в таком случае перенесите из WHERE в ON

Забыл добавить: везде используйте алиасы таблиц!
0
Mcr
10 / 10 / 0
Регистрация: 30.01.2012
Сообщений: 364
24.07.2014, 13:17  [ТС] #3
Цитата Сообщение от iap Посмотреть сообщение
Код T-SQL
1
LEFT JOIN
И условия для правой таблицы в таком случае перенесите из WHERE в ON
Забыл добавить: везде используйте алиасы таблиц!
У меня так получилось, я не использовал алиасы, потому как путаюсь еще в этих запросах
Может подскажите как сделать запрос качественнее
SQL
1
2
3
4
SELECT MessageForEmployer.Text, MessageForEmployer.Id, Users.Name, Users.SecondName, ProfileWorker.Photo, ProfileWorker.UserId, 
AnswerQuestions.Text AS Answer FROM Users INNER JOIN ProfileWorker ON Users.Id = ProfileWorker.UserId INNER JOIN
 MessageForEmployer ON ProfileWorker.UserId = MessageForEmployer.WorkerId 
LEFT OUTER JOIN AnswerQuestions ON MessageForEmployer.Id = AnswerQuestions.QuestionId WHERE (MessageForEmployer.TasksId = @TaskId) AND (MessageForEmployer.Type = 'q')
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.07.2014, 13:17
Привет! Вот еще темы с ответами:

Правильно сформировать запрос с датами - SQL Server
полностью описывать всю базу данных не буду...БД Автопарковка и автоуслуги. Смысл в том, что это есть дата въезда(dbo.тПарк.дата_въезда)...

Как правильно построить запрос? - SQL Server
Собственно вся проблема продемонстрирована на прилагаемом рисунке. В некой таблице, существуют два поля, которые ссылаются на две...

Как правильно написать запрос - SQL Server
Привет, Пишу впервые сложный запрос (по крайней мере для меня) и так: Есть таблица КОД Имя Адрес Дата 123 Иван...

Как правильно создать запрос на выборку? - SQL Server
Доброго времени суток, уважаемые форумчане! Подскажите, как создать следующий запрос в базу данных: нужно вывести 10 самых новых фильмов...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru