まず、やらないであろう、無茶苦茶なケースですが
例えば一つのViewに記事とつぶやきを表示させ、
かつ、ページネーションも実装し、日時でソートしなければいけないとします。
その状況で、以下のテーブルから以下の取得したいデータを取ってこれるSQL文など
ありますでしょうか?
Databseは MySQL Innodbです。
テーブル
lang
1 2User Table: 3----------------- 4| id | name | 5----------------- 6| 1 | hoge | 7----------------- 8| 2 | fuga | 9----------------- 10 11Group Table: 12----------------- 13| id | name | 14----------------- 15| 1 | hoge | 16----------------- 17 18Tweet Table: 19------------------------------------------------------------------------ 20| id | tweet | group_id | user_id | created_at | 21------------------------------------------------------------------------ 22| 1 | hoge | 1 | 1 | 2015-10-10 10:10:00 | 23------------------------------------------------------------------------ 24| 2 | fuga | 1 | 2 | 2015-10-10 10:10:01 | 25------------------------------------------------------------------------ 26 27Post Table: 28------------------------------------------------------------------------------------------- 29| id | title | description | group_id | user_id | created_at | 30------------------------------------------------------------------------------------------- 31| 1 | hoge | 何かはいる | 1 | 1 | 2015-10-10 10:10:02 | 32-------------------------------------------------------------------------------------------
取得したいデータ
lang
1 2-------------------------------------------------------------------------------------------------------------------------- 3| group_id | tweet_id | post_id | title | description | tweet | user_id | created_at | 4-------------------------------------------------------------------------------------------------------------------------- 5| 1 | 1 | null | null | null | hoge | 1 | 2015-10-10 10:10:02 | 6-------------------------------------------------------------------------------------------------------------------------- 7| 1 | 1 | null | null | null | fuga | 2 | 2015-10-10 10:10:01 | 8-------------------------------------------------------------------------------------------------------------------------- 9| 1 | null | 1 | hoge | 何か入る | null | 1 | 2015-10-10 10:00:00 | 10--------------------------------------------------------------------------------------------------------------------------
lang
1( 2 SELECT 3 group_id, 4 id AS post_id, 5 NULL AS tweet_id, 6 title, 7 description, 8 NULL AS tweet, 9 user_id, 10 created_at 11 FROM posts 12 WHERE group_id = 1 13 ORDER BY created_at DESC; 14) 15UNION ALL 16( 17 SELECT 18 group_id, 19 NULL AS post_id, 20 id AS tweet_id, 21 NULL AS title, 22 NULL AS description, 23 tweet, 24 user_id, 25 created_at 26 FROM tweets 27 WHERE group_id = 1 28 ORDER BY created_at DESC; 29)
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。