1. 程式人生 > >用union把查詢結果合併

用union把查詢結果合併

用union把查詢結果合併

使用場景

如圖有三個表,根據這三個表查出如圖四的資料結構。可以理解為查詢一家主人的食物消耗記錄,消耗者分為主人和客人,表food儲存了消耗的食物名稱,消耗者id和消耗數量。表user和admin分別是客人表和主人表。現在就要根據這三個表查到如圖四的消耗記錄,sql該怎麼寫呢?
在這裡插入圖片描述
![圖二](https://img-blog.csdnimg.cn/20181212140933466.png
![圖三](https://img-blog.csdnimg.cn/20181212141015135.png
下圖效果是我們最終要的結果
![圖四](https://img-blog.csdnimg.cn/20181212141042734.png

sql語句

SELECT food.id,food.food,food.num,user.user_name as u_name from food  LEFT JOIN user on user.id = food.uid where food.uid in (SELECT id from `user`)
UNION 
SELECT food.id,food.food,food.num,admin.admin_name as u_name from food  LEFT JOIN admin on admin.id = food.aid where food.aid in (SELECT id from `admin`)

執行結果

在這裡插入圖片描述