簡體   English   中英

如何在PHP的SELECT語句中執行子查詢?

[英]How do I do a subquery within a SELECT statement in PHP?

如何在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

請注意,此查詢應該給出想法,而我並未對其進行測試。 請測試並驗證; 如有任何錯誤,請郵寄至地址。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM