Foxtable(狐表)用户栏目专家坐堂 → sql语句出错,请教


  共有11921人关注过本帖树形打印复制链接

主题:sql语句出错,请教

帅哥哟,离线,有人找我吗?
小狐
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:734 积分:5645 威望:0 精华:0 注册:2008/9/6 11:22:00
sql语句出错,请教  发帖心情 Post By:2011/11/30 8:57:00 [只看该作者]

select *
if (SELECT COUNT(*) FROM 盘点明细 ) <1
SELECT top 1 品名 AS 盘亏商品 FROM 盘点明细
else
SELECT top 1 品名 + '等'+ str((SELECT COUNT(*) FROM 盘点明细)) + '类商品' AS 盘亏商品 FROM 盘点明细
FROM 盘点明细
出错提示:
消息 156,级别 15,状态 1,第 1 行
关键字 'FROM' 附近有语法错误。

图片点击可在新窗口打开查看此主题相关图片如下:林.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/11/30 9:05:00 [只看该作者]

我不会太复杂的SQL,帮你顶。

建议你去一些有SQL高手的论坛问问,例如csdn


 回到顶部
帅哥哟,离线,有人找我吗?
sgs
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:365 积分:2693 威望:0 精华:1 注册:2011/11/25 7:55:00
  发帖心情 Post By:2011/11/30 9:13:00 [只看该作者]

你的语句最后一行用了两个

FROM 盘点明细

况且你那个第一句

 

 

select *    ‘这里用*没有意义的
if (SELECT COUNT(*) FROM 盘点明细 ) <1
SELECT top 1 品名 AS 盘亏商品 FROM 盘点明细   '上一行说明假如没有记录,这一行如何能读取第一条记录呢
else
SELECT top 1 品名 + '等'+ str((SELECT COUNT(*) FROM 盘点明细)) + '类商品' AS 盘亏商品 FROM 盘点明细
FROM 盘点明细   ’这里也没有意义的

 

如果是狐表至少要这样:

Dim cmd As new sqlcommand
Dim dt As DataTable
cmd.commandtext = "SELECT COUNT(*) FROM 盘点明细"
If cmd.ExecuteScalar = 0 Then
    cmd.commandtext = ""
    dt = cmd.ExecuteReader
Else
    cmd.commandtext = "Select top 1 品名 + '等'+ str((SELECT COUNT(*) FROM 盘点明细)) + '类商品' AS 盘亏商品 FROM 盘点明细
    dt = cmd.ExecuteReader
End If

 

建议你开始不要接触太复杂的概念,按照老大的建议,从简入繁

[此贴子已经被作者于2011-11-30 9:22:03编辑过]

 回到顶部