2015-08-09 129 views
0

我有两个表不同取代整数,一个是存储由数从一个表其中id在另一个选择,并用炭从第二表

timestamp/user_id/transaction_id/amount 

其他用户的用户日志用户表,该表拥有用户数量和他们的全名

user_id/fullname 

我要选择整个用户日志,并显示它,但不是显示自己的号码,从另一台展示自己的全名,但我不能让它加工。我不断修改SQL并破坏它。有没有办法用PHP postgresql来完成这个或者我应该使用一个函数? 我不断收到一个错误,user_id是整数,全名不是 请协助。

$query = "SELECT * FROM user_log 
    INNER JOIN user_staff 
ON user_log.user_id=user_staff.user_name 
ORDER BY user_log_id DESC LIMIT 200;"; 

    $result = pg_query($query); 
    if (!$result) { 
     echo "Problem with query " . $query . "<br/>"; 
     echo pg_last_error(); 
     exit(); 
    } 

    while($myrow = pg_fetch_assoc($result)) { 
     printf ("<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>", $myrow['timestamp'], htmlspecialchars($myrow['user_id']), htmlspecialchars($myrow['transaction_id']), htmlspecialchars($myrow['amount'])); 
    } 
    ?> 
+1

阅读有关'JOIN'声明IM SQL查询 –

+0

我试过了,但无法得到它的工作,我将修改代码以显示我所尝试的内容,但其中一个是char变化的,另一个是整数,并且它们不加入 – Kilisi

回答

1

也许是这样的:

SELECT user_log.timestamp, users.fullname, user_log.transaction_id, user_log.amount 
FROM user_log 
INNER JOIN users 
ON users.user_id=user_log.user_id 
ORDER BY user_log_id 
DESC LIMIT 200; 

您可以在SQL读到这里加入:http://www.w3schools.com/sql/sql_join.asp

+0

这个适用于我 – Kilisi

2

使用此查询:

SELECT "timestamp", fullname, transaction_id, amount 
FROM user_log 
JOIN users USING (user_id) 

注意“时间戳”是一个SQL保留字,你不应该使用它的列名。如果您使用必须使用,请使用双引号。

相关问题