gpt4 book ai didi

php - 根据先前的查询执行选择查询

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

我想对多个表执行两个查询。第一个查询连接了几个表并使用了几个条件。它是这样的:

SELECT items.id, tableX.colA, tableY.colB ...
FROM items
LEFT JOIN table2 ON ...
LEFT JOIN table3 ON ...
...
WHERE {some conditions are true}

第二个查询是一个简单的查询,但取决于第一个的结果。我想通过 id 选择与上一个查询相关的所有行。所以应该是这样的

SELECT meta_name, meta_value FROM items_meta WHERE item IN ({LIST OF IDS FROM PREVIOUS QUERY})

这两个查询将用于不同的目的,因此不能将它们合并为一个。

我一直在考虑将第一个查询的结果存储在一个临时表中,然后将第二个查询连接到它。但我似乎找不到一种合适的方法来返回第一个查询的行并将 ID 放入临时表中。

非常感谢所有贡献。谢谢

最佳答案

这里有两个选项:

  • 将第一个查询的结果存储在一个(临时)表中。然后在最终查询中使用此表。
  • 将第一次查询的结果存储在应用程序中,然后构造IN列表。

或者,只需使用以下方法组合查询:

SELECT meta_name, meta_value
FROM items_meta
WHERE item IN (SELECT items.id
FROM table1
LEFT JOIN table2 ON ...
LEFT JOIN table3 ON ...
...
WHERE {some conditions are true}
);

关于php - 根据先前的查询执行选择查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36768023/

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