簡體   English   中英

SQL SERVER 查詢 select 項上的兩個外鍵引用一個主鍵

[英]Two foreign keys referring to one primary key on SQL SERVER query select items

我想創建一個數據庫來記錄兩個用戶之間的交易。 用戶可以將積分(將其視為金錢)轉移給另一個用戶。 用戶表如下所示:

| userID        |    name       |      email       |   balance  |
| ------------- |---------------|------------------|------------|
| 101           | alpha         | alpha@mail.com   |   1000     |
| 102           | bravo         | bravo@mail.com   |    500     |
| 103           | charlie       | charlie@mail.com |   2000     |

交易表應該是這樣的:

 transactionID |  from_user    |   to_user        | transfer_amount  |
| ------------- |---------------|------------------|------------------|
|   1           | 101           |       103        |   100            |
|   2           | 102           |       101        |   150            |
|   3           | 102           |       103        |   200            |

只是我需要這個結果:

|    row        |  from_user    |   to_user        | transfer_amount  |
| ------------- |---------------|------------------|------------------|
|   1           | alpha         |       charlie    |   100            |
|   2           | bravo         |       alpha      |   150            |
|   3           | bravo         |       charlie    |   200            |

有人可以提示提供 SQL 服務器代碼嗎?

Select from_user, to_user, name, transfer_amount from transaction iner join users on trans.id==user.id;

SELECT T.TRANSACTION_ID,T.FROM_USER,U_FROM.NAME,
T.TO_USER,U_TO.NAME,T.TRANSFER_AMOUNT
FROM TRANSACTIONS AS T
JOIN USERS AS U_FROM ON T.FROM_USER=U_FROM.USER_ID
JOIN USERS AS U_TO ON T.TO_USER=U_TO.USER_ID

我猜是這樣的

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM