Mysql查询:切换记录是否来自表格news或news_collect

问题描述

|| 我有这个查询
(SELECT * FROM news WHERE Del=\'0\' ORDER BY `Date` DESC)
    UNION
(SELECT * FROM news_collect WHERE Del=\'0\' ORDER BY `Date` DESC)
现在在while循环中,我需要切换记录是否来自表格news或news_collect ...如何实现?     

解决方法

我将解决此问题,添加一个自定义字段,使列数保持不变。
(SELECT *,\'news\' as source FROM news WHERE Del=\'0\' ORDER BY `Date` DESC)
    UNION
(SELECT *,\'news_collect\' as source FROM news_collect WHERE Del=\'0\' ORDER BY `Date` DESC)
然后您可以使用
switch($aRow[\'source\'])
。     ,尝试如下修改查询:
(SELECT news.*,\'news\' coming_from FROM news WHERE Del=\'0\' ORDER BY `Date` DESC)
    UNION
(SELECT news_collect.*,\'new_collect\' FROM news_collect WHERE Del=\'0\' ORDER BY `Date` DESC)
(假设\“ coming_from \”不是\“ news \”表的列) 然后使用“ coming_from \”列来区分记录的来源。