Дублирование строк при умножении двух столбцов двух разных таблиц с помощью объединений - PullRequest
0 голосов
/ 04 июня 2018

У меня есть следующие таблицы

  1. Question_Segment_Master
  2. Question_Set_Details

Когда я соединяю эти две таблицы, я получаю повторяющиеся строки .. Пожалуйста, просмотритескрипка, где я разместил схему этих двух и ее данные ..

http://sqlfiddle.com/#!18/4c84f/10

Это мой ожидаемый ОП

enter image description here

Ответы [ 2 ]

0 голосов
/ 04 июня 2018

Вы пропустили сегмент_ид в предложении соединения

SELECT DISTINCT
        qsm.segment_id,
        qsm.segment_name,
        qsm.segment_description,
        qsm.must_attend_question tot_attented_question,
        qsm.total_question tot_questions,
        (qsd.question_marks * must_attend_question) tot_marks,
        '' AS marks_obtain
FROM dbo.question_segment_master qsm 
INNER JOIN dbo.question_set_details qsd on
                                        qsd.test_id = qsm.test_id
                                        and qsd.segment_id = qsm.segment_id
WHERE qsm.test_id=1
      AND qsm.branch_id = 15 
      AND qsm.subject_code_id =1 AND qsd.question_set_id = 1
0 голосов
/ 04 июня 2018

Вам необходимо получить вопросительные знаки для каждого сегмента.Кроме того, вы должны ПРИСОЕДИНИТЬСЯ, используя branch_id, test_id, subject_code_id вместе с plot_id.

С помощью JOIN и затем принять отличительные значения

SELECT DISTINCT qsm.segment_id, segment_name, segment_description
  , must_attend_question AS tot_attented_question, total_question AS tot_questions
  , (qsd.question_marks * must_attend_question) AS tot_marks
  , '' AS marks_obtain
FROM dbo.Question_Segment_Master AS qsm
INNER JOIN dbo.Question_Set_Details AS qsd
ON (qsd.branch_id = qsm.branch_id AND qsd.test_id = qsm.test_id
AND qsd.segment_id = qsm.segment_id AND qsd.subject_code_id = qsm.subject_code_id)
WHERE qsm.subject_code_id = 1 and qsm.test_id = 1 and qsm.branch_id = 15;

Демо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...