В Django raw запрос выбирает всех моих пользователей дважды

У меня есть необработанный запрос в моем представлении:

SELECT stressz_profile.id, projekt_id, user_name_id, 
szerv01b AS szervkult01a 
FROM stressz_szervezetikultura 
INNER JOIN stressz_profile 
WHERE stressz_profile.projekt_id=1

Я пытаюсь получить данные из базы данных, но каждый раз результаты дублируются. Он выбирает моих пользователей два раза, как на картинке ниже, и я не могу понять, почему. enter image description here

потому что вам не хватает условия присоединения:

SELECT stressz_profile.id, projekt_id, user_name_id, 
szerv01b AS szervkult01a 
FROM stressz_szervezetikultura  s
INNER JOIN stressz_profile p
 ON p.?? = s.?? -- the column names you are joining on
WHERE stressz_profile.projekt_id=1

Он выбирает моих пользователей два раза, как на картинке ниже, и я не могу понять, почему.

Потому что вы делаете INNER JOIN с stressz_szervezetikultura, но вы никогда не указываете, как они должны быть соединены. Таким образом, каждый stressz_profile будет показан там, где stressz_profile.project_id=1 столько раз, сколько элементов в stressz_szerverzetikultura.

Таким образом, у вас отсутствует пункт ON:

SELECT stressz_profile.id, projekt_id, user_name_id, 
szerv01b AS szervkult01a 
FROM stressz_szervezetikultura
INNER JOIN stressz_profile ON …
WHERE stressz_profile.projekt_id=1

Таким образом, вам нужно заполнить условие присоединения (часть ). Вероятно, это условие относится к части user_name_id.

Вернуться на верх