私はpdoだけを使って何かを計算したいと思います。このクエリから私が欲しいもの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このユーザー、実行します。
USER_IDは、クエリからこれです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;
。 これを問い合わせることは可能ですか?
$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で、同一のループを作りたい:
たぶん私は結果はPHPで見えるものになるかどうかが表示されます。
編集あなたの質問をし、あなたに何を説明し
users.user_id
が(本当にあなたのクエリがすべてで動作するために真である必要がある)一意であると仮定すると、クエリを実行します。 'select *'のようなスカラーサブクエリが必要なコンストラクトがあります。これは、そのコンテキストで決して使用しないでください。 –質問が編集されました:) – Matt