下記の2つのテーブルを結合し、取得してきた配列データと照らし合わせ、
必要なものだけ重複させず表示させたいです。
スマートに記述を収める方法はあるでしょうか?
######取得している配列データ
2,3,10,11
######条件
取得しているデータのどれか一つに当てはまれば表示
下記の例では、post_id 11と14が表示される想定です。
■cnt_category
cat_id|post_id
-----
1|10
1|11
4|11
10|11
2|14
3|14
11|14
■tbl_post
id|title
10|投稿1
11|投稿2
12|投稿3
13|投稿4
14|投稿5
下記のようなSQLを送信し、in_arrayを使ってcat_idをしぼるところまではいきましたが、
タイトルがどうしても重複してしまいます。
(ちなみに説明のためテーブルは簡略化していますが、
tbl_postには他にもdelete_flgなどカラムが複数ついています)
SQL
1SELECT DISTINCT title, cat_id FROM cnt_category LEFT JOIN tbl_post ON cnt_category.cat_id = tbl_post.id
array_uniqueなど使い、無理やり重複させない方法は思いつきますが、
もっとスマートに書く方法はないでしょうか?
詳しい方、ご教授頂けますと幸いです。
回答1件
あなたの回答
tips
プレビュー