我有以下表格:
╔════════╦════════════╗
║ USERID ║ LANGUAGEID ║
╠════════╬════════════╣
║ 1 ║ 2 ║
║ 1 ║ 7 ║
║ 1 ║ 8 ║
║ 2 ║ 10 ║
║ 2 ║ 3 ║
╚════════╩════════════╝
现在我想为每个用户创建所有可能的语言配对,这意味着我希望结果集如下所示:
对于用户1:(2,7),(7,8),(2,8)
对于用户2:(10,3)
为此,我已经执行了以下查询:
SELECT a.userId , a.LanguageId, b.LanguageId
FROM knownlanguages a, knownlanguages b
WHERE a.userID=b.userID
AND a.LanguageId<>b.LanguageId
我得到的结果是:
对于用户1:(2,7),(7,8),(2,8),(7,2),(8,7),(8,2)
对于用户2:(10,3),(3,10)
对我来说,(10,3)和(3,10)没有区别
如何去除重复的行?
谢谢
WHERE a.userID=b.userID AND a.LanguageId < b.LanguageId
可以翻译为:当a的userID等于b的userID且a的LanguageId小于b的LanguageId时
。 - wildplasser