如何在PHP中的SELECT语句中执行子查询?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在PHP中的SELECT语句中执行子查询?相关的知识,希望对你有一定的参考价值。
如何在php中的SELECT语句中执行子查询?
例如(我知道有更好的方法来编写此查询,无需指出它):
SELECT
product_name
FROM
(SELECT * FROM product)
我将如何在PHP中执行此操作?我尝试了以下查询,但它不起作用:
pg_query($conn, 'SELECT product_name FROM SELECT * FROM product')
答案
SQL标准和PostgreSQL要求FROM
子句中的任何子查询都有别名,即使它未在查询中使用:
SELECT
product_name
FROM
(SELECT * FROM product) AS q
另一答案
根据您的任务目的,您可以创建一个SELECT
子查询,但是,我不确定您的意图是什么。在你目前的帖子中,你说应该是
SELECT
product_name
FROM
SELECT *
FROM product
当运行时,FROM
子句被错误地使用,因为该子句可以大大减少。如果您想获得产品,可以说:
SELECT
product_name
FROM
product
如果您试图获取产品出现在表中的时间,例如,如果产品不是主键,则可以在SELECT子句中创建子查询,如下所示:
SELECT DISTINCT
p.product_name
(
SELECT
COUNT(*)
FROM
product prodSub
WHERE
prodSub.product_name == p.product_name
) AS "Occurances"
FROM
product p
请注意,此查询应该提供该想法,我没有测试它。请测试和验证;如有任何错误,请发帖到地址。
以上是关于如何在PHP中的SELECT语句中执行子查询?的主要内容,如果未能解决你的问题,请参考以下文章