【问题标题】:Get related rows in the same table?在同一个表中获取相关行?
【发布时间】:2014-06-23 03:35:54
【问题描述】:

我正在努力解决这个问题。我需要的是从同一个表中选择一行和其他相关的行。下面是一个表格示例:

table
key    |    value    |    related
=================================
1      |    omg      |    0
2      |    lol      |    0
3      |    rofl     |    2
4      |    barfoo   |    0
5      |    foo      |    0
6      |    bar      |    0
...
20000  |    haha     |    2

(其中相关的“2”是“lol”的行键)

所以如果我(不是同时)这样做:

SELECT * FROM table Where value='lol'

或者这个

SELECT * FROM table Where value='rofl'

或者这个

SELECT * FROM table Where value='haha'

它应该返回:

key    |    value    |    related
=================================
2      |    lol      |    0
3      |    rofl     |    2
20000  |    haha     |    2

各位有什么想法吗?

非常感谢!

【问题讨论】:

    标签: mysql database database-design phpmyadmin


    【解决方案1】:

    试试这个:

    Select * From table t 
    Where Exists 
       (Select * From Table
        where value = @theValue
           and valueKey in (t.ValueKey, t.related))         
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-13
      • 1970-01-01
      • 2014-12-24
      • 1970-01-01
      • 2021-07-16
      相关资源
      最近更新 更多