業務需要查詢廣告串列,廣告型別有兩種,分別在兩個表保存,需要把兩表的結果合并按時間倒敘排序,全部欄位都要顯示,但兩表有部分欄位是不同的,若查詢結果沒有該欄位則為置NULL,另外需要附加一個欄位表示該條結果是屬于哪種型別(查詢自哪個表)的。
我遇到的問題:
先是兩表欄位不同導致的[Err] 1222 - The used SELECT statements have a different number of columns
然后不知道怎樣插入表示結果來源表表名的欄位
我想請教一下這種業務僅通過SQL陳述句能實作嗎?如果可以要怎樣實作?
結構如下:
-- ----------------------------
-- Table structure for advert_carousel
-- ----------------------------
CREATE TABLE `advert_carousel` (
`advert_carousel_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '輪播廣告標識',
`biz_user_id` int(11) NOT NULL COMMENT '企業標識',
`file_lib_carousel` int(11) NOT NULL COMMENT '圖片標識',
`start_time` datetime NOT NULL COMMENT '開始時間',
`end_time` datetime NOT NULL COMMENT '結束時間',
`create_time` datetime NOT NULL COMMENT '創建時間',
`modify_time` datetime DEFAULT NULL COMMENT '最后修改時間',
`redirect_url` varchar(255) DEFAULT NULL COMMENT '跳轉URL',
`industry_id` int(11) DEFAULT NULL COMMENT '作用范圍;行業標識;留空則為首頁',
`status` varchar(20) NOT NULL DEFAULT 'activation' COMMENT '狀態;activation=激活;invalid=失效;deleted=被洗掉',
PRIMARY KEY (`advert_carousel_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ----------------------------
-- Table structure for advert_recommend
-- ----------------------------
CREATE TABLE `advert_recommend` (
`advert_recommend_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '標識',
`biz_user_id` int(11) NOT NULL COMMENT '企業標識',
`industry_id` int(11) NOT NULL COMMENT '行業標識',
`start_time` datetime NOT NULL COMMENT '開始時間',
`end_time` datetime NOT NULL COMMENT '結束時間',
`create_time` datetime NOT NULL COMMENT '創建時間',
`modify_time` datetime DEFAULT NULL COMMENT '最后修改時間',
`click_count` int(11) DEFAULT '0' COMMENT '總計點擊次數',
`status` varchar(20) NOT NULL DEFAULT 'activation' COMMENT '狀態;activation=激活;invalid=失效;deleted=被洗掉',
PRIMARY KEY (`advert_recommend_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
uj5u.com熱心網友回復:
seledct advert_carousel_id, biz_user_id, file_lib_carousel, null as ndustry_id
from advert_carouse
union all
seledct advert_carousel_id, biz_user_id, null as file_lib_carousel, ndustry_id
from advert_recommend
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/105092.html
標籤:MySQL
上一篇:MySQL學習——管理事務
