【问题标题】:Select limit on foreign key in MySQL在 MySQL 中选择外键限制
【发布时间】:2020-08-30 20:35:05
【问题描述】:

我有两张桌子。产品和产品分。我想展示每种产品的所有可用颜色以及一张图片。

所以,我的产品表包含:

ID、名称、描述

我的产品子表包含:

id、parentID、颜色、图片

我想选择一个产品的所有颜色和图片并显示在页面上。但我不想在同一页面上显示所有产品。

select p.name, s.color, s.pic, p.id
from products-sub s
    inner join products as p on p.id = s.parentID

这是我当前的查询,我想要 50 个唯一的 s.parentID。

【问题讨论】:

  • 你有什么问题?
  • 如何限制唯一外键......就像我想要一个产品的所有颜色,但我想要 50 个唯一的产品
  • 您可以加入有限制的子查询:JOIN (SELECT * FROM products LIMIT 50) p
  • @shmosel 你是个救命稻草。
  • 我应该删除问题吗?或者你发布答案,我会标记它

标签: mysql


【解决方案1】:

一种解决方案是使用带有LIMIT 的子查询加入父表,例如

... JOIN (SELECT * FROM products LIMIT 50) p ...

【讨论】:

    【解决方案2】:

    如果您想要 50 个产品,请使用子查询:

    select p.name, s.color, s.pic, p.id 
    from products_sub s inner join
         (select p.*
          from products p
          limit 50
         ) p
         on p.id = s.parentID;
    

    当然,这假设所有产品都至少有一个 sub。

    【讨论】:

    • 你也有正确的答案。但 shmosel 先告诉了我。没有难过的感觉兄弟。顺便说一句,谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-22
    • 2016-08-01
    • 1970-01-01
    • 2017-06-15
    • 1970-01-01
    • 1970-01-01
    • 2014-02-16
    相关资源
    最近更新 更多