0

フォルダー、コンテンツ、ライブラリーテーブルがあります。各フォルダーには、コンテンツ テーブルとライブラリ テーブルの両方に多くのコンテンツがあります。コンテンツ テーブルとライブラリ テーブルは、content_id に依存しています。コンテンツを追加すると、コンテンツとライブラリ テーブルの両方が保存されます。突然、ライブラリ テーブルで削除が発生したに違いありません。一部のコンテンツはライブラリ テーブルでは削除されますが、コンテンツ テーブルでは削除されません。

特定のフォルダーID、そのフォルダー内のコンテンツの数、そのフォルダー内のライブラリの数を取得したい。

フォルダーIDを取得できるいくつかのオプションを試します(ライブラリテーブルではなくコンテンツテーブルに表示されるコンテンツ)。単一のクエリを使用して、folder_id count(content_id コンテンツ テーブル),count(content_id ライブラリ テーブル) を取得します。

select distinct a.folder_id from (
select c.folder_id,c.content_id, l.content_id as lid from content c left join library l
on c.content_id = l.content_id
where l.content_id is null) a  

結果:

folder_id  ccount lcount countdiff
123         33      30      3
4

1 に答える 1