回答

收藏

SQL:只使用每行自联[重复]

技术问答 技术问答 279 人阅读 | 0 人回复 | 2023-09-14

目前,我有一张包含以下记录的表格:
: H8 [; w4 `6 j0 K; l) W& \1 VA1A2A3B1B2C1C2同一字母表示一些共同标准(如字母列的共同值)。我按照以下标准加入自己:# J4 x# }8 ?% e6 i) B
SELECT mytable.*,self.* FROM mytable INNER JOIN mytable AS self    ON (mytable.letter = self.letter and mytable.number != self.number);本链接提供以下内容:
# E3 a! x) e$ m: E, I6 sA1 A2A2 A1A1 A3A3 A1A2 A3A3 A2B1 B2B2 B1C1 C2C2 C1但而,我只希望每对夫妇都包含一次(组合而不是排列)。我将如何获得以下信息:
( n, q. P# E3 j* sA1 A2A1 A3A2 A3B1 B2C1 C2 2                                                                                                                                                                                                                                                                     
7 {; w( t5 n! n  W+ e0 s, L    解决方案:                                                               
' U# }) G2 x% _                                                                稍微更改JOIN实现你想要的。3 S; n: Q* d- w: `3 z- J
代替:
+ y+ T4 Y+ y3 q8 Y6 C+ YON (mytable.letter = self.letter and mytable.number != self.number)使用
5 e  h" m! U! SON (mytable.letter = self.letter and mytable.number > self.number)这将仅包括self.number大于组合实际上大于组合mytable.number结果实际上被限制为每个组合的有效顺序。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则