1

如果我有如下表格:

table_1: 1, 'Hello My Name is Hal', '2009:11:02 08:42'
table_1: 2, 'Hello My Name is Dave', '2009:11:02 08:30'
table_2: 1, 'Ima all #red due to twitter', '2009:11:02 09:42'

让我们想象一下所有的表格列都有相同的col_names

有什么方法可以进行查询以在不同行的一个 SELECT 中返回结果

类似的东西:

SELECT * FROM table_1, table_2 ORDER BY dateReg DESC

所以我的 Return 看起来像:

1, 'Ima all #red due to twitter', '2009:11:02 09:42'
1, 'Hello My Name is Hal', '2009:11:02 08:42'
2, 'Hello My Name is Dave', '2009:11:02 08:30'

当我尝试运行上述查询时,我得到了歧义错误(显然... Duhh ..:D),但是有没有一种方法可以在查询中做到这一点,而不是使用 PHP 在代码中进行排序。

有任何想法吗?提前致谢

4

4 回答 4

3

您可以使用UNION(或UNION ALL) 组合来自多个查询的结果:

SELECT * FROM table_1 UNION ALL SELECT * FROM table_2

(简单UNION将删除重复项,UNION ALL将返回所有结果。)

于 2009-12-02T08:51:08.517 回答
1

您可以使用 UNION 查询

于 2009-12-02T08:52:09.887 回答
0

使用表别名 ;)

就像是:

SELECT table1.id AS table1_id, table2.id AS table2_id, table3.id AS table3_id FROM table1, table2, table3

于 2009-12-02T08:49:58.783 回答
0

以最初的示例为基础,是否有一种方法可以使 table2 重载 table1 中具有相同 id 的行?

所以预期的结果是:

1, 'Ima all #red due to twitter', '2009:11:02 09:42'
2, 'Hello My Name is Dave', '2009:11:02 08:30'
于 2011-02-09T17:03:33.207 回答