分类: 数据库开发技术
2010-07-16 10:45:54
例如两个表。表1列为:id name passwd, 表2 为id name title d_date. 我现在想查询表2 id=5 的那条记录的name对应的表1 中的passwd,请问完整的sql怎么写?
联合查询:
SELECT [passwd]
FROM [表1]
INNER JOIN [表2]
ON ([表1].[name] = [表2].[name])
WHERE ([表2].[id] = 5)
因为你的字段只来自于一张表,不用联合的话,用子查询也可以:
SELECT [passwd]
FROM [表1]
WHERE ([name] IN (
SELECT [name]
FROM [表2]
WHERE ([id] = 5)
))
已解决
表a: ID a1, a2, a3, a4, a5
表b: id aid, b1, b2, b3, b4
表c: id aid, c1, c2, c3, c4
表d: id aid, d1, d2, d3, d4
表e: id aid, e1, e2, e3, e4
表f: id aid, f1, f2, f3, f4
一共五个表,表a代表信息,b到f表代表内容,他们aid与a表中的id对应,所有内容均为数字,现在我想查出 b1<16 and c1=20 and d3>80 and e4<25 and f1=1.8 符合这些条件的a,应该怎样写SQL语句.下面这么写对吗,为什么什么也查不出呀
SELECT a.* FROM ((((b INNER JOIN c ON b.aid = c.aid) INNER JOIN d ON b.aid=d.aid) INNER JOIN e ON b.aid = e.aid) INNER JOIN f ON b.aid = f.aid) INNER JOIN a ON b.aid = a.id WHERE (((b.b1)<16) AND ((c.c1)=20) AND ((d.d3)>80) AND ((e.e4)=,25 AND ((f.f1)=1.8));
谢谢你们的回答,不过,第一个不能用,调试显示语法错误(操作符丢失)
第二个也是查不出东西来
chinaunix网友2010-07-16 15:50:47
求ADOQuery多表连接查询的添加,编辑,删除结合dbg http://www.qqkjl.com/delphi2005/20100604/5536.html delphi access 多表操作,如何解决 http://topic.csdn.net/u/20080422/14/5bceb535-3b95-4a3f-9280-040084cbc759.html 用adoquery多表查询和删除数据的问题[问题点数:20分,结帖人:jojoxyz] http://topic.csdn.net/t/20050814/20/4208455.html