gpt4 book ai didi

MySQL如何选择具有间接ID的记录?

转载 作者:行者123 更新时间:2023-11-29 11:25:19 25 4
gpt4 key购买 nike

我的表有一个标记为 primary_keysummary_id 的列。每个记录中第二个字段 summary_id 中的值映射到另一个记录的 primary_key 字段。还有第三个字段template_id。我需要选择以下记录:

  1. template_id 是一个特定值。假设是 4。
  2. primary_key 至少与其中一个记录的 summary_id 字段匹配。

请不要告诉我重新设计表格。我的下一个项目会有更好的设计,但我现在没有时间。我需要通过一个或多个查询来完成此操作;越少越好。理想情况下,有某种方法可以通过一个查询来完成此操作,但如果需要更多查询,我也没关系。

enter image description here

这是我自己的查询所取得的进展。 (我知道它严重缺乏,这就是我需要帮助的原因。)

SELECT DISTINCT esjp_content.template_id
FROM esjp_content
INNER JOIN esjp_hw_config ON esjp_content.template_id = esjp_hw_config.proc_id
INNER JOIN esjp_assets ON esjp_hw_config.primary_key = esjp_assets.hw_config_id
WHERE
esjp_content.summary_id > 0
AND
(esjp_assets.asset_label='C001498500' OR esjp_assets.asset_label='H0065' OR esjp_assets.asset_label='L0009');

SELECT
esjp_content.primary_key, esjp_content.template_id, esjp_content.content, esjp_content.summary_id
FROM
esjp_content
WHERE
esjp_content.template_id = 4;

我需要 summary_id 指向的记录。例如,如果 summary_id 为 90,那么我需要 primary_key 为 90 的记录。

enter image description here

最佳答案

您正在查找至少存在一行,其中summary_id = 您的主键。像这样。

SELECT *
FROM esjp_content c
WHERE template_id = 4
AND EXISTS (SELECT 1 FROM esjp_content c2 WHERE c2.summary_id = c.primary_key)

关于MySQL如何选择具有间接ID的记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38332153/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com