确定结果来自哪个表

时间:2011-07-20 02:43:46

标签: php mysql

我目前有一些桌子,我正在加入,所以我可以将所有相关结果形成一个最近活动的新闻源。我遇到的唯一问题是弄清楚信息来自哪个表格。

$recentActivity = mysql_query("
SELECT * 
FROM members 
LEFT JOIN market 
ON members.id = market.user 
LEFT JOIN sales 
ON members.id = sales.uid 
WHERE members.id='$id'
");

然后我正在运行一个while循环

<? while ($recent = mysql_fetch_assoc($recentActivity)) { ?>

如果循环中的结果来自市场表,我希望能够回应“市场”或类似的东西,如果它来自销售表,也会这样做。

希望这是有道理的。

2 个答案:

答案 0 :(得分:2)

你做不到。唯一可能的方法是为所有(必要的)market表字段显式指定别名。像:

SELECT members.*,
       market.id AS market_id,
       market.foobar AS market_foobar

等。与sales

相同

答案 1 :(得分:0)

很多人都使用这种惯例。如果我有一个表,用户:

--------------------------------
| user_username   | varchar(20) |
| user_email      | varchar(40) |
| user_phone      | varchar(13) |
---------------------------------

这允许你有连接并且具体知道数据来自哪个表。这是一种命名空间。

如果您可以重命名表格中的字段,我会认真考虑它。