表1:mas_book_authorカンマ区切りの値を持つ列のテーブルの結合
author_id | author_name
------------+----------------
1 | jhon
2 | roobini
3 | virat
4 | sachin
5 | siva
6 | priya
表4:mas_bk_accession_entry
id(int)(pk) | author_ids(varchar)
-------------+-------------------
1 | 1,5
2 | 5,1
3 | 2,5
4 | 3,5
5 | 4,5
私の結果は次のようにする必要があります:
author_name |count
------------+------
jhon,siva | 2
これは私のSQLクエリです
select b.author_name,COUNT(*) as totbook
from mas_bk_accession_entry a
join mas_book_author as b
on b.author_id in (select cast((unnest(string_to_array(f.author_ids,','))) as int) as author_ids
from mas_bk_accession_entry f)
where a.author_ids = '1,5'
group by b.author_name
コンマ区切りの値を格納しないでください。あなたがあなたの質問に持っている問題は、悪いデータベースデザインの直接の結果です。 –
@a_horse_with_no_name ok、何か解決策はありますか? –
https://en.m.wikipedia.org/wiki/Database_normalization - あなたのデータベースを3NFにしてあなたの人生を楽にする – Morishiri