0

进行查询以从多个表中选择行...然后是必要的信息(即headline从那里检索)

$sql="(SELECT `headline`,`date` FROM `arts`)

UNION

(SELECT `headline`,`date` FROM `lead_news`)

UNION

(SELECT `headline`,`date` FROM `opinion_analysis`)

UNION

(SELECT `headline`,`date` FROM `politics`)

UNION

(SELECT `headline`,`date` FROM `top_news`)

UNION

(SELECT `headline`,`date` FROM `lifestyle`)

ORDER BY `date` DESC LIMIT $limit  ";
$result=mysql_query($sql);
while($row=mysql_fetch_assoc($result)){
    echo trim(htmlspecialchars_decode($row['headline']));
}

我还需要找出table每个$row. 我在这里找到了一个解决方案,建议查询为:

"SELECT *, table_name as source FROM table_name"这样就$row['source']可以返回表名。

但我想知道是否有任何关联数组键可以从中检索名称$row或 mysql 中的任何内置函数?

编辑SELECT:我按以下方式编写了命令:

SELECT `headline`,`date`, `arts` as `source` FROM `arts`

并得到错误:“字段列表”中的未知列“艺术”。这里采用什么方式?

4

1 回答 1

1
SELECT `headline`,`date`, 'arts' as `source` FROM `arts`

您想选择字符串“arts”,因此将其放在'引号中,而不是反引号。

但实际上,您的桌子设计似乎非常错误。除非所有这些项目都非常不同,否则您应该有一个包含一列category(或类似)的表,而不是每个类别一个表。

于 2013-03-10T11:06:08.667 回答