mysqli UNION以正确的列名获取数据

tou*_*vel 2 mysql union

我想用UNION从数据库中获取数据,我将链接定义为newslink,将pic定义为articlepic但是它在newslink列下显示了articlepic数据,我该如何解决这个问题?

SELECT * FROM
((SELECT date, link as newslink FROM news ORDER BY id DESC)
UNION
(SELECT date, pic as articlepic FROM article ORDER BY id DESC)) as x
ORDER BY date DESC LIMIT 6
Run Code Online (Sandbox Code Playgroud)

样本数据

我想在articlepic列下获取articlepic数据,在newslink列下获取newslink

sca*_*dge 7

如果您在不同的列中输入值,则必须在select中为不对应的列添加空值

SELECT * FROM
 ((SELECT date, link as newslink, null as articlepic 
  FROM news ORDER BY id DESC)
UNION
 (SELECT date, null, pic 
   FROM article ORDER BY id DESC)) as x
ORDER BY date DESC LIMIT 6
Run Code Online (Sandbox Code Playgroud)

  • 你回显列名的内容,所以你回显$ row ['newlink']和$ row ['articlepic'] (3认同)