[英]MySQL Combine Query Results From Multiple Tables
假設我有兩個表:shares和follow。 當前,我有一個查詢,該查詢返回按日期排序的最新股票,限於25個結果。 我想做的是從關注和共享中查詢,返回最新的25個結果。 但是,我不確定如何執行此操作。
我對股票的查詢是這樣的:
select s.id, s.name, s.sharer, s.type from shares s where id = :id order by s.date desc limit 0,25
我對追隨者的查詢是這樣的:
select f.follower, f.following, f.type from followers f where f.following = :id order by f.date desc limit 0,25
如何合並這些內容,以便如果它從關注者表中進行選擇,則僅接受關注者,關注者和類型,如果它從共享表中進行選擇,則僅獲取ID,名稱等? 這有可能嗎?
我認為您正在尋找工會...
select id, name, sharer, type from (
(select s.id as id,
s.name as name,
s.sharer as sharer,
s.type as type,
s.date as date
from shares s
where id = :id order by s.date desc)
UNION
(select f.follower as id,
f.following as name,
f.following as sharer,
f.type as type,
f.date as date
from followers f
where f.following = :id order by f.date desc))
order by date desc limit 0,25;
您可能需要根據需要調整別名。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.