简单的SQL语句询问

zxdlms 2010-03-19 11:56:03
我有两个表,T_A和T_B,都有一个相同名字的字段KEY_NAME,我使用SQL语句是
SELECT * FROM T_A,T_B WHERE T_A.KEY_NAME=T_B.KEY_NAME,我用ADO连接ACCESS,能够查询到正确结果,可是如果连接SQL Sever,就会出现错误。

请问这个SQL语句在SQL Server中有什么错误吗??
...全文
193 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
老黎 2010-03-20
  • 打赏
  • 举报
回复
SELECT * FROM T_A,T_B WHERE T_A.KEY_NAME=T_B.KEY_NAME

语句没问题
问题出在程序中取字段KEY_NAME时不知道取哪个T_A.KEYNAME还是T_B.KEYNAME
wangxianshou 2010-03-20
  • 打赏
  • 举报
回复
查询的时候,不要使用*
需要什么字段,只取什么字段,并且表明是哪个表的

好的习惯很重要,也没避免一些常见的问题
claro 2010-03-20
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 zxdlms 的回复:]

引用 9 楼 jiujiuyaokan 的回复:
语句没有错误....
问题不是在语句,而是你的数据库。
检查你的数据库是否建SQL服务器中?
数据库和表都是存在的,我查询单个的T_A和T_B都可以得到结果,但是连接查询就不行。
[/Quote]前面不是说了,*理论上会显示两表中的KEY_NAME,但是DB会问你要显示哪个KEY_NAME?
单个table的KEY_NAME当然没有问题。
yhtapmys 2010-03-20
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 zxdlms 的回复:]
再大概再简化说一下我的问题,
其中有两个表T_A和T_B,
T_A有字段 WORKER_ID,WORKER_NAME,KEY_NAME
T_B有字段 MEA_ID,MEA_VALUE,MEA_LOCATION,KEY_NAME,我想根据T_B的MEA_ID获取两个表的内容,并显示出来。
我的SELECT语句是 SELECT * FROM T_A,T_B WHERE MEA_ID=‘1258……
[/Quote]

你打开sql 事件探查器 跟踪看看 是不是程序传入语句有问题?
sych888 2010-03-19
  • 打赏
  • 举报
回复
SELECT * FROM T_A,T_B WHERE T_A.KEY_NAME=T_B.KEY_NAME
指定具体要查询的字段
ws_hgo 2010-03-19
  • 打赏
  • 举报
回复
SELECT T_A.* FROM T_A,T_B WHERE T_A.KEY_NAME=T_B.KEY_NAME
百年树人 2010-03-19
  • 打赏
  • 举报
回复
语句没错,但是你用*的话结果就会有两个KEY_NAME字段
Mr_Nice 2010-03-19
  • 打赏
  • 举报
回复
SELECT * FROM T_A,T_B WHERE T_A.KEY_NAME=T_B.KEY_NAME

得制定是那个表的*吧!
dawugui 2010-03-19
  • 打赏
  • 举报
回复
SELECT * FROM T_A,T_B WHERE T_A.KEY_NAME=T_B.KEY_NAME?

语句没错误.
epnge_0926 2010-03-19
  • 打赏
  • 举报
回复
希望你以后写查询语句的时候尽量不要用 * 这个符号。
zxdlms 2010-03-19
  • 打赏
  • 举报
回复
再大概再简化说一下我的问题,
其中有两个表T_A和T_B,
T_A有字段 WORKER_ID,WORKER_NAME,KEY_NAME
T_B有字段 MEA_ID,MEA_VALUE,MEA_LOCATION,KEY_NAME,我想根据T_B的MEA_ID获取两个表的内容,并显示出来。
我的SELECT语句是 SELECT * FROM T_A,T_B WHERE MEA_ID=‘12580’ AND T_A.KEY_NAME=T_B.KEY_NAME
程序使用ADO连接数据库,在使用ACCESS数据库的时候正常,但是使用SQL Server就不行,_Recordset在open的时候出错。而我查询单个的T_A和T_B的时候都可以得到结果,应该可以认为数据源是没问题的吧。
我也试过SELECT T_A.* FROM T_A,T_B WHERE T_A.KEY_NAME=T_B.KEY_NAME,也会出错。真是搞不懂了。
zxdlms 2010-03-19
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 jiujiuyaokan 的回复:]
语句没有错误....
问题不是在语句,而是你的数据库。
检查你的数据库是否建SQL服务器中?
[/Quote]数据库和表都是存在的,我查询单个的T_A和T_B都可以得到结果,但是连接查询就不行。
jiujiuyaokan 2010-03-19
  • 打赏
  • 举报
回复
语句没有错误....
问题不是在语句,而是你的数据库。
检查你的数据库是否建SQL服务器中?
--小F-- 2010-03-19
  • 打赏
  • 举报
回复
没发现你的语句有错误
wjfxyj 2010-03-19
  • 打赏
  • 举报
回复
指定具体要查询的字段
fayxue 2010-03-19
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ws_hgo 的回复:]
SQL code
SELECT T_A.* FROM T_A,T_B WHERE T_A.KEY_NAME=T_B.KEY_NAME
[/Quote] ~

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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