0

我正在从两个不同的表中使用联合进行查询,然后在fetch_array循环中我想知道我实际抓取的两个表中的哪个表,无论如何都没有在表的结构中添加标志。?

4

2 回答 2

1

如果您在两个表中都有相同名称的列,则可以用作

SELECT table1.col1 as col1, table1.col2, table1.col3 FROM table1
UNION
SELECT table2.col1 as col4, table1.col5 FROM table2

那么当你做 $data = fetch_assoc($q) 你会有

$data["col1"] // table1.col1
$data["col2"] // table1.col2
-----------------------------
$data["col4"] //table2.col1
于 2013-08-27T11:18:49.083 回答
1

该标志不需要在表中,但可以很容易地在查询中:

SELECT 'table1' as t, ... FROM table1
UNION
SELECT 'table2' as t, ... FROM table2

...

echo $row['t'];

您不必从表中选择字段,您也可以简单地“选择字符串文字”。

于 2013-08-27T11:12:27.170 回答