1
に参加から選択するか、数える、私は、任意のより良いを思って、gallery_media
、ループ内のすべての行を選択する必要がありますか?私は、クエリ以下使用した前<code>media_action</code>行、<br> に存在し、<code>gallery_id = 1</code><code>media</code>をカウントしたいテーブル
// select all gallery_media rows
var dbQuery = `SELECT *
FROM "gallery_media" WHERE gallery_id = $1`;
var dbParams = [galleryId];
var dbQueryR = yield Promise.resolve(queryPromise(dbClient, dbQuery, dbParams));
// loop
var total;
for (var i = 0; i < dbQueryR.rows.length; i++) {
var mediaId = dbQueryR.rows[i].media_id;
// select count media_action where media_id = mediaId
// and total++;
var dbQuery = `SELECT count(*)
AS total_row_count
FROM "media_action" WHERE media_id = $1`;
}
// below example data final result get total = 3
// if add where type = 0 get total = 2
データ
gallery_media
gallery_id | media_id
1 | 1
1 | 2
1 | 3
media_action
media_id | type
1 | 0
3 | 0
3 | 1
テーブル
CREATE TABLE gallery_media
(
id serial NOT NULL,
gallery_id integer NOT NULL,
media_id integer NOT NULL,
...
CREATE TABLE media_action
(
id serial NOT NULL,
media_id integer NOT NULL,
type integer NOT NULL
...
私はこれを今試してみましょう、説明のおかげで! – user1575921