sql语句报错 逗号附近有语法错误

aaabianhuakai 2009-08-10 09:57:55
select d.customer_name
from depositor d,account a
where d.account_number=a.account_number and branch_name='Perryridge' and (branch_name ,customer_name)
in
(select branch_name,customer_name
from borrower b,loan l
where b.loan_number=l.loan_number )

服务器: 消息 170,级别 15,状态 1,行 3
第 3 行: ',' 附近有语法错误。
...全文
972 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
SQL77 2009-08-10
  • 打赏
  • 举报
回复
直接四个表连接不行吗?
feixianxxx 2009-08-10
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 fredrickhu 的回复:]
引用 17 楼 feixianxxx 的回复:
引用 4 楼 fredrickhu 的回复:
SQL codeselect d.customer_namefrom depositor d,account awhere d.account_number=a.account_numberand branch_name='Perryridge'and branch_namein
(select branch_name,customer_namefrom borrower b,loan lwhe¡­


应该用and 吧。。。
是OR?


这个头像丑死
[/Quote]
。。。。。。
feixianxxx 2009-08-10
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 aaabianhuakai 的回复:]
可是我的报错啊
和版本有关系吗  我的是sql 2000的
服务器: 消息 116,级别 16,状态 1,行 1
当没有用 EXISTS 引入子查询时,在选择列表中只能指定一个表达式。
[/Quote]
试试2楼的。。
--小F-- 2009-08-10
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 feixianxxx 的回复:]
引用 4 楼 fredrickhu 的回复:
SQL codeselect d.customer_namefrom depositor d,account awhere d.account_number=a.account_numberand branch_name='Perryridge'and branch_namein
(select branch_name,customer_namefrom borrower b,loan lwhe¡­


应该用and 吧。。。
是OR?
[/Quote]

这个头像丑死
aaabianhuakai 2009-08-10
  • 打赏
  • 举报
回复
可是我的报错啊
和版本有关系吗 我的是sql 2000的
服务器: 消息 116,级别 16,状态 1,行 1
当没有用 EXISTS 引入子查询时,在选择列表中只能指定一个表达式。
feixianxxx 2009-08-10
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 fredrickhu 的回复:]
SQL codeselect d.customer_namefrom depositor d,account awhere d.account_number=a.account_numberand branch_name='Perryridge'and branch_namein
(select branch_name,customer_namefrom borrower b,loan lwhe¡­
[/Quote]

应该用and 吧。。。
是OR?
--小F-- 2009-08-10
  • 打赏
  • 举报
回复
--SORRY  没注意
select d.customer_name
from depositor d,account a
where d.account_number=a.account_number and branch_name='Perryridge' and branch_name
in
(select branch_name
from borrower b,loan l
where b.loan_number=l.loan_number )
or
customer_name in
(select customer_name
from borrower b,loan l
where b.loan_number=l.loan_number )
lvveve 2009-08-10
  • 打赏
  • 举报
回复
每日一顶!
bea_java 2009-08-10
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 fredrickhu 的回复:]
SQL codeselect d.customer_namefrom depositor d,account awhere d.account_number=a.account_numberand branch_name='Perryridge'and branch_namein
(select branch_name,customer_namefrom borrower b,loan lwhe¡­
[/Quote]

这个是正确的, in里边只可以有一个你写了连个 。分开写就可以了。
--小F-- 2009-08-10
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 aaabianhuakai 的回复:]
and branch_name
in
(select branch_name,customer_name


小F 这里前后的集合元素个数不一样也能行吗
[/Quote]

只要包含在里面就OK了
SQL77 2009-08-10
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 aaabianhuakai 的回复:]
and branch_name
in
(select branch_name,customer_name


小F 这里前后的集合元素个数不一样也能行吗
[/Quote]
不行了啦,报错
华夏小卒 2009-08-10
  • 打赏
  • 举报
回复
小F那没注意,写错了
soft_wsx 2009-08-10
  • 打赏
  • 举报
回复
我看过的书基本上都有些错别字
SQL77 2009-08-10
  • 打赏
  • 举报
回复
select d.customer_name 
from
depositor d,account a ,borrower b,loan l
where d.account_number=a.account_number
and branch_name='Perryridge' and b.loan_number=l.loan_number
aaabianhuakai 2009-08-10
  • 打赏
  • 举报
回复
and branch_name
in
(select branch_name,customer_name


小F 这里前后的集合元素个数不一样也能行吗
feixianxxx 2009-08-10
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 aaabianhuakai 的回复:]
是吗 书本上这样写的哦
数据库系统概念
[/Quote]
..ORACLE 支持这样的写法。。
但是MSSQL不支持这样的写法
guguda2008 2009-08-10
  • 打赏
  • 举报
回复
书本上错了
aaabianhuakai 2009-08-10
  • 打赏
  • 举报
回复
是吗 书本上这样写的哦
数据库系统概念
--小F-- 2009-08-10
  • 打赏
  • 举报
回复
select d.customer_name 
from depositor d,account a
where d.account_number=a.account_number and branch_name='Perryridge' and branch_name
in
(select branch_name,customer_name
from borrower b,loan l
where b.loan_number=l.loan_number )
or
customer_name in
(select branch_name,customer_name
from borrower b,loan l
where b.loan_number=l.loan_number )
华夏小卒 2009-08-10
  • 打赏
  • 举报
回复
in 前面只能有一个值吧
加载更多回复(2)

34,588

社区成员

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

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