【问题标题】:Two foreign keys of the same table. How do I write this SELECT statement?同一张表的两个外键。如何编写此 SELECT 语句?
【发布时间】:2009-10-31 22:12:49
【问题描述】:

用户表

user_id    username    thumb_id    fullimage_id
1          jprescott   14          15
2          lpausch     18          19

图片表

image_id    path
14          jprescott/small.jpg
15          jprescott/big.jpg
16          msamuels/small.jpg
17          msamuels/big.jpg
18          lpausch/small.jpg
19          lpausch/big.jpg

现在,我如何编写 SELECT 语句来检索具有拇指和完整图像路径的用户?问题在于同一个表有两个外键。

【问题讨论】:

    标签: sql mysql


    【解决方案1】:

    你做了两个连接:

    SELECT u.username, i1.path AS thumb, i2.path AS full
      FROM users AS u
        JOIN images AS i1 ON u.thumb_id = i1.image_id
        JOIN images AS i2 ON u.fullimage_id = i2.image_id
    

    【讨论】:

      【解决方案2】:

      怎么样:

      select u.username, i1.path, i2.path from users u, images i1, images i2 
        where u.user_id = ? and u.thumb_id = i1.image_id and u.fullimage_id = i2.image_id
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-06-04
        • 2015-12-30
        • 1970-01-01
        • 2016-08-19
        • 2018-06-13
        相关资源
        最近更新 更多