我想只使用pdo來計算一些東西,而不是php。 我的查詢會是這個樣子:可以在postgre中像這樣創建foreach循環嗎?
WITH first_query as (
SELECT date FROM users
WHERE user_id = 258;
), second_query as (
SELECT SUM(posts) FROM activity
WHERE date > (SELECT * FROM first_query)
AND user_id = 258;
)
SELECT user_id, date, first_time, (SELECT * FROM first_query), (SELECT * FROM second_query)
FROM users WHERE user_id = 258;
我想要什麼,要執行這個查詢,的foreach用戶從該查詢:
SELECT user_id FROM users
WHERE country = 'PL';
示例:從查詢 用戶= 1,4,6 ,66,676,34,678,234; 的foreach這個用戶,執行:
WITH first_query as (
SELECT date FROM users
WHERE user_id = 258;
), second_query as (
SELECT SUM(posts) FROM activity
WHERE date > (SELECT * FROM first_query)
AND user_id = 258;
)
SELECT user_id, date, first_time, (SELECT * FROM first_query), (SELECT * FROM second_query)
FROM users WHERE user_id = 258;
其中user_id是這從查詢。 有可能在查詢中做到這一點?
也許我將展示如何結果將在PHP來看看:
$users = 'select user_id from useres where something' // result as array
foreach ($users as $user_id) {
// execute query
WITH first_query as (
SELECT date FROM users
WHERE user_id = $user_id;
), second_query as (
SELECT SUM(posts) FROM activity
WHERE date > (SELECT * FROM first_query)
AND user_id = $user_id;
)
SELECT user_id, date, first_time, (SELECT * FROM first_query), (SELECT * FROM second_query)
FROM users WHERE user_id = $user_id;
}
我想在PDO相同的循環。
編輯你的問題,並解釋你想要查詢。你有像'select *'這樣的構造,其中需要一個標量子查詢 - 你永遠不應該在這個上下文中使用它。 –
問題編輯:)。 – Matt