如何在PHP的SELECT语句中执行子查询?
例如(我知道有一种更好的方式编写此查询,无需指出):
SELECT
product_name
FROM
(SELECT * FROM product)
如何在PHP中执行此操作?我尝试了以下查询,但没有成功:
pg_query($conn, 'SELECT product_name FROM SELECT * FROM product')
答案 0 :(得分:3)
SQL标准和PostgreSQL要求FROM
子句中的任何子查询都具有别名,即使该子查询未在查询中使用:
SELECT
product_name
FROM
(SELECT * FROM product) AS q
答案 1 :(得分:-1)
根据您的任务目的,您可以创建一个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
请注意,此查询应能说明问题,而我并未对其进行测试。请测试并验证;如有任何错误,请邮寄至地址。