2015-08-09 66 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保留字,你不應該使用它的列名。如果您使用必須使用,請使用雙引號。

相關問題