Member 12618369 Ответов: 2

Как сделать distinct для значения одного столбца в SQL-запросе с внутренним соединением


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

пожалуйста помочь

Что я уже пробовал:

Выбрать различные Т1.Середина, четкое Т1.VideoName, Т2.*,Т3.UniID,Т3.user_type от dbo.Материал как T1 внутреннее соединение dbo.ModuleRelation как Т2 по Т2.СЧ=Т1.Середины внутреннее соединение ДБО.Пользователи как Т3 на Т3.UniID=Т2.UId, где t3. user_type= 'Staff' и t1.IsDeleted = 0 и T2.СЧ='CM1034D';

а это
Выбрать различные Т1.Середине, Т4.VideoName, Т2.*,Т3.UniID,Т3.user_type от dbo.Материал как T1 внутреннее соединение dbo.ModuleRelation как Т2 по Т2.СЧ=Т1.Середины внутреннее соединение ДБО.Пользователи как Т3 на Т3.UniID=Т2.Жидкости
Внутреннее соединение (выбрать максимум(в середине) в середине,videoname от dbo.Группы материалов по Videoname), а Т4 на Т1.СЧ=Т4.Средний
где Т3.персонал user_type='' и T1.IsDeleted = 0 и T2.СЧ='CM1034D';

но название видео все равно дублируется

Maciej Los

Что такое входные и ожидаемые выходные данные?

Member 12618369

что вы имеете в виду бу ввода вывода значения выбранных столбцов, но один из столбцов имеет повторяющиеся значения мне нужно, чтобы сделать его особым

Aless Alessio

во-первых: ради бога, используйте форматер Sql http://www.dpriver.com/pp/sqlformat.htm ваш SQL не читается.
второе: вы должны рассказать нам структуру таблиц и отношения между ними, иначе как мы можем знать, как написать запрос?

Member 12618369

структура таблиц такова
Материалы[ИД, videoName,среднего(зарубежных ключа),теплоносителя,ISPosted]
ModuleRelation[идентификатор пользователя(uid, форинг Кей),средний(основных зарубежных )]
пользователи[Uid, user_type]
пожалуйста помочь

2 Ответов

Рейтинг:
0

Member 11114915 - Tanvi

Distinct в таком состоянии будет работать, когда выбран только один столбец, то есть "VideoName". Если требуется различное "видеоигра" вместе с другими столбцами, то оно принесет различную комбинацию всех столбцов вместо отличия одного столбца.


Рейтинг:
0

The Praveen Singh

Используйте group by вместо Distinct:_

SElECT t1.MID, t1.VideoName, t2.*,t3.UniID,t3.user_type from dbo.Material AS t1 INNER JOIN dbo.ModuleRelation As t2 ON t2.MID=t1.MID INNER JOIN dbo.Users AS t3 ON t3.UniID=t2.UId where t3.user_type='Staff' and t1.IsDeleted = 0 AND t2.MID='CM1034D' Group by t1.VideoName;