三表连接查询(在线等)急求

snihcel 2007-01-18 07:48:43
t1 01,02,03
t2 01,11
t3 01,13


这样查为什么不对急求
SELECT *
FROM t1
left join t2 ON t1.[01] = t2.[01]
left join t3 ON t1.[01] = t3.[01]
...全文
375 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
hui_hui_2007 2007-01-18
  • 打赏
  • 举报
回复
字段是数字打头的。好象要用[]括起来吧。记不清了。
marco08 2007-01-18
  • 打赏
  • 举报
回复
有SQL2000
snihcel 2007-01-18
  • 打赏
  • 举报
回复
兄弟你用的是SQL吧,我用accsse,这个段脚本查不了,
marco08 2007-01-18
  • 打赏
  • 举报
回复
--这样


create table t1([01] int, [02] int, [03] int)
insert t1 select 1,2,3
insert t1 select 2,3,4

create table t2([01] int, [11] int)
insert t2 select 1, 11

create table t3([01] int, [13] int)
insert t3 select 2, 21

select * from t1
left join t2 on t1.[01]=t2.[01]
left join t3 on t1.[01]=t3.[01]

--result
01 02 03 01 11 01 13
----------- ----------- ----------- ----------- ----------- ----------- -----------
1 2 3 1 11 NULL NULL
2 3 4 NULL NULL 2 21

(2 row(s) affected)
snihcel 2007-01-18
  • 打赏
  • 举报
回复
但这上面这一个就可以执行
我快晕了,
上帝啊,
snihcel 2007-01-18
  • 打赏
  • 举报
回复
SELECT *
FROM (SELECT A.[01] as KeyID
FROM t1 AS A LEFT JOIN t2 AS B ON A.[01]= B.[01]) AS D LEFT JOIN t3 AS C ON D.[keyID]=C.[01]
caixia615 2007-01-18
  • 打赏
  • 举报
回复
t1.后面跟的应该是字段名..
wym840713 2007-01-18
  • 打赏
  • 举报
回复
不能用01,02,03作为列名,换成字母就可以了
比如:
SELECT *
FROM t1
left join t2 ON t1.a = t2.a
left join t3 ON t1.a = t3.a

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧