0
私は基本的に、ユーザーの壁に表示する3つの異なるクラスのアイテムを評価、コメント、更新しています。この3つは完全に異なるエンティティですが、それらはすべてユーザーの壁に表示されるため、単に「ウォールアイテム」と呼びます。これらのすべてには、作成された日付を表すtimestampプロパティがあります。MySQL:1つのクエリで異なるエンティティをマージする
タイムスタンプ順に並べ替えることができます。たとえば、最後の10個の壁アイテム。またはwallitems 20から30.すべての異なるエンティティが異なる列を持っていても、私に最後の10の "wallitems"を与えるMySQL Queryはありますか?
アイテムのリストを取得して、各アイテムがすべての異なるエンティティのすべてのプロパティを持っていること、タイプを定義する追加のプロパティ(「評価」など)、実際にはレーティング他のプロパティはnullです。私は私のPHPコードでこのようなdicationaryを使用するのが大好きだ:
SELECT 'rating' AS type, value AS r_val, NULL AS c_val
FROM Rating
UNION
SELECT 'comment' AS type, NULL AS r_val, comment_text AS c_val
FROM Comment
よう
foreach ($wallItemArray as $item) {
if ($item['type'] == "rating") {
$rating = $item; // use it as normal "rating"-entity
} else if ($item['type'] == "comment") {
$comment = $item; // use it as normal "comment"
}
// and so on for all different entities that could represent a wallitem in this context
}
を始めるでしょうか? – thejh