我在ms access 2010中有2个表,如下所示
USERS (u_id, u_name)
LOAN (l_id, l_from[ref users.u_id], l_to[ref users.u_id], l_amount)
Users
+------+--------+
| u_id | u_name |
+------+--------+
| 1 | abc |
| 2 | def |
+------+--------+
Loan
+-----+--------+------+----------+
|l_id | l_from | l_to | l_amount |
+-----+--------+------+----------+
| 1 | 2 | 1 | 100 |
| 2 | 2 | 1 | 100 |
| 3 | 1 | 1 | 50 |
+-----+--------+------+----------+
我想从贷款表
中选择名称而不是数字(l_from& l_to)select
loan.l_id,
loan.l_from,
users.u_name user_from,
loan.l_to,
users.u_name as user_to,
loan.l_amount
from loan, users
where ???
答案 0 :(得分:3)
JOIN
users
表格两次如下:
SELECT
l.l_id,
fromusers.u_name AS user_from,
tousers.u_name AS user_to,
l.l_amount
FROM loan l
INNER JOIN users fromusers ON l.l_from = fromusers.u_id
INNER JOIN users tousers ON l.l_to = tousers.u_id
SQL Fiddle Demo(它是SQL Server 2008,但我认为ms-access的语法应该相同)
答案 1 :(得分:2)
只需加入“用户”表两次,每次都可以加入一次。
SELECT l.l_id, uFrom.u_name AS user_from,
uTo.u_name AS user_to, l.l_amount
FROM LOAN l
INNER JOIN Users uFrom ON l.l_from = uFrom.u_id
INNER JOIN Users uTo ON l.l_to = uTo.u_id