【发布时间】:2021-06-08 09:04:51
【问题描述】:
我有以下 SQL 查询:
SELECT DISTINCT(MovieAttributes.Description),
MDetails.AttributeValueID, MovieAtrVal.Value
FROM
MDetails
INNER JOIN
MovieAtrVal ON MovieAtrVal.AtrValID = MDetails.AttributeValueID
INNER JOIN
MovieAttributes ON MovieAttributes.ID = MovieAtrVal.AtrID
WHERE
MovieID IN (SELECT Movie.ID
FROM Movie
INNER JOIN Subjects ON Subjects.ID = Movie.SubjectID
WHERE Subjects.Name LIKE '308')
AND MovieAttributes.Description != 'Environment'
输出是这样的:
RoadInfrastructure 1 None
Hairstyle 5 Short hair
Weather 8 Sunny
Glasses 18 Corrective glasses
Beard 28 No beard
Age 31 Young (17 to 35)
Age 32 Middle (36 to 55)
RoadType 34 City
Accessories 38 None
Makeup 44 None
FacialFeatures 47 None
RoadType 177 None
Weather 178 Artificial light
Seating_height 206 83
Display_distance 220 67
我想要 2x age、2x RoadType 和 2xWeather
我认为我应该使用 DISTINCT,但在这种情况下不起作用。
【问题讨论】:
-
当然,您研究了您的问题,发现有 100 多个问题都在问同样的问题。为什么这些解决方案对您不起作用?
-
SQL 中的
DISTINCT仅适用于 整行 - 而不是单列。您的完整行都不是重复的 -
用您正在使用的数据库标记您的问题。