首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SQL基于单个表的键的多项选择

SQL基于单个表的键的多项选择
EN

Stack Overflow用户
提问于 2012-08-16 06:13:05
回答 2查看 108关注 0票数 0

如果在座的任何人都能回答的话,提前感谢。我有两个表:

代码语言:javascript
复制
      Strings                Numbers
 ----------------        ----------------
| ID  |  String  |      | ID  |  Number  |
 ----------------        ----------------
|  1  |    'A'   |      |  1  | 'First'  |
|  1  |    10    |      |  2  | 'Second' |
 ----------------       |  3  | 'Third'  |
|  2  |    'B'   |      |  4  | 'Fourth' |
|  2  |    11    |      |  5  | 'Fifth'  |
 ----------------        ----------------
|  3  |    'A'   |
|  3  |    12    |
 ----------------
|  4  |    'B'   |
|  4  |    13    |
 ----------------
|  5  |    'B'   |
|  5  |    14    |
 ----------------

例如,我过滤了与'A‘关联的值,我必须得到一个这样的表:

代码语言:javascript
复制
     Strings
 ----------------
| ID  |  String  |
 ---------------- 
|  1  |    10    |
 ---------------- 
|  3  |    12    |
 ----------------

例如,如果想要过滤与'B‘“关联”的值,我必须获得一个这样的表:

代码语言:javascript
复制
      Strings
 ----------------
| ID  |  String  |
 ---------------- 
|  2  |    11    |
 ----------------
|  4  |    13    |
 ----------------
|  5  |    14    |
 ----------------

再次感谢您的帮助。

EN

Stack Overflow用户

发布于 2012-08-16 06:39:40

代码语言:javascript
复制
select s2.ID,
       s2.String
  from Strings as s1
 inner join Strings as s2
    on s2.id = s1.id
   and s2.String != s1.String
 where s1.String = ?

然而,这种表结构是有问题的。ID看起来应该是主键,但它不能,因为有多个值。此外,您永远不需要Numbers表,所以为什么要将它包含在问题中?:)

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11978096

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档