mysql - 在返回的数据集中创建自定义值/列

标签 mysql union

我遇到过这样的情况:使用 UNION:

$query = "SELECT bigimage, heading, fullarticle, dateadded FROM news ";
$query .= "WHERE (state = '" . $USER->state . "' OR state = 'ALL') AND status = 1 AND newstype != 1 AND frontpage = 1 AND bigimage > '' ";
$query .= "UNION ";
$query .= "SELECT image, eventname, details, dateadded FROM events ";
$query .= "WHERE (state = '" . $USER->state . "' OR state = 'ALL') AND status = 1 AND frontpage = 1 AND image > '' ";
$query .= "ORDER BY dateadded DESC LIMIT 10";
$restresult = mysql_query($query);

现在,我想知道每个结果来自哪个表,所以我想知道是否可以向返回的每个结果添加某种自定义结果,以某种形式指示它来自哪个表。

我可以在返回的结果中添加一个额外的“动态”列吗?

最佳答案

试试这个:

$query = "SELECT bigimage, heading, fullarticle, dateadded, 'news' as TableName FROM news ";
$query .= "WHERE (state = '" . $USER->state . "' OR state = 'ALL') AND status = 1 AND newstype != 1 AND frontpage = 1 AND bigimage > '' ";
$query .= "UNION ";
$query .= "SELECT image, eventname, details, dateadded, 'event' FROM events ";
$query .= "WHERE (state = '" . $USER->state . "' OR state = 'ALL') AND status = 1 AND frontpage = 1 AND image > '' ";
$query .= "ORDER BY dateadded DESC LIMIT 10";
$restresult = mysql_query($query);

关于mysql - 在返回的数据集中创建自定义值/列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13785608/

相关文章:

mysql - LEFT JOIN 返回所有带有 NULL 的内容

php - 在 php 中重复发送电子邮件以获取注册表单

php - 在 UNION 中选择列

联合后MySQL表得到错误的数据

mysql - 如何使用 django 和 phpmyadmin 配置 mysql

mysql - Google Cloud SQL Mysql 组复制

mysql - 如果使用 sum>100,小于 100 的总和仍然会显示

c# - 带有 char 数组的非托管联合

Mysql,数据分布在两个表中,单独的行

MySQL 加入子类别