当前位置: 首页 > 面试题库 >

sql查询连接两列与一

巫马玉堂
2023-03-14
问题内容

我在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 ???

问题答案:

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演示(它是SQL Server 2008,但我认为ms-
access的语法应相同)



 类似资料:
  • 我需要连接来自两个不同表的数据,如下所示。仅使用一个sql查询就可以做到这一点吗?如果“key”和“name”在两个表上,那么它们是相同的。表1中的“状态”始终为“-”,表2中的“T”。此外,两个表上的“名称”和“comp”都匹配(例如:Name3-C和Name4-B)<我尝试过“联合”和“加入”,但还没有解决办法! 表1 表2 结果应该是。。。 提前谢谢!

  • 主要内容:1.内连接,2. 左连接 - LEFT JOIN,3. 右连接 - RIGHT JOIN,4. 全连接 - FULL JOIN顾名思义,连接(JOIN)表示要结合一些东西。 在SQL的情况下,连接(JOIN)表示“组合两个或更多表”。 在SQL中,子句用于组合数据库中两个或多个表的记录。 SQL JOIN的类型 内连接 - INNER JOIN 左连接 - LEFT JOIN 右连接 - RIGHT JOIN 全连接 - FULL JOIN 假设有以下几张表,EMPLOYEE 表的结构

  • 问题内容: 怪物编辑:查询现在将运行,但返回错误答案。添加了一个粗略的架构。PatientID不是tblPatientVisits表中的主键,因为同一患者ID可以出现多次。 列出了每个县名,但每个计数(s.countyName)和计数(t.countyname)为1 编辑:我有一个查询,现在运行,但它返回 问题答案: 没有样本数据和理想的结果很难说,但是也许这是您要追求的?

  • 而且 现在的问题是: > 我必须如何在ALL_ORDERS子查询的底部执行联接?我已经尝试了以下操作: null 感谢任何帮助。

  • 我有一个表“Quote”,映射在hibernate中,它有一个由整数id和日期组成的复合键,还有几个附加列。我想编写一个条件查询,它使用DetachedCriteria来获取每个id中日期最长的行。 在sql中,我可能会编写一个查询,比如 在hibernate中,我认为可以像这样为“group by”子查询创建DetachedCriteria(其中Quote是映射表的类,“Qid”是键的复合id类

  • 我有两个表与1:1的关系,我使用内容提供者和CursorLoader。 如何使连接查询与游标加载器一起工作?我可以用内容提供程序中的rawSql来黑它,但如何在游标加载器构造函数中做就不是我能做到的了。 多谢!