Foxtable(狐表)用户栏目专家坐堂 → 帮忙检查一下SELECT语句...(已解决)


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

主题:帮忙检查一下SELECT语句...(已解决)

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


加好友 发短信 菜鸟中的老鸟
等级:七尾狐 帖子:1486 积分:10064 威望:0 精华:9 注册:2008/11/14 8:54:00
帮忙检查一下SELECT语句...(已解决)  发帖心情 Post By:2009/4/8 11:33:00 [只看该作者]

select 床位,姓名,表A.ID,项目,剂量,用法,用量,单位,单价 from 表A inner join 表B on 表A.ID = 表B.ID where 停止日期 is null and ID in (2009111,2009114,2009121) order by 床位

执行上述代码提示""

删除紫色代码执行正常...


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

原数据是外部表,这里我做了个简单示例为内部表,请老师指点...

select 床位,姓名,{表A}.ID,项目,规格,单价 from {表A} inner join {表B} on {表A}.ID = {表B}.ID where 日期 is null and ID in (001,005,008) order by 床位

从ID为001,005,008中提取日期为空的项目数据,并以床位为排序依据...

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试文件.table
[此贴子已经被作者于2009-4-8 14:29:08编辑过]

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


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2009/4/8 12:54:00 [只看该作者]

建议你把表A和表B的表结构贴出来,这样才方便大家帮你分析错误.如果既无文件,又无表结构,只有一个查询语句判断它错在哪儿是比较困难的.

[此贴子已经被作者于2009-4-8 12:54:18编辑过]

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


加好友 发短信 菜鸟中的老鸟
等级:七尾狐 帖子:1486 积分:10064 威望:0 精华:9 注册:2008/11/14 8:54:00
  发帖心情 Post By:2009/4/8 13:39:00 [只看该作者]

select 床位,姓名,{表A}.ID,项目,规格,单价 from {表A} inner join {表B} on {表A}.ID = {表B}.ID where 日期 is null and ID in (001,005,008) order by 床位

从ID为001,005,008中提取日期为空的项目数据,并以床位为排序依据...

原数据是外部表,这里我做了个简单示例为内部表,请老师指点...

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试文件.table

[此贴子已经被作者于2009-4-8 13:40:38编辑过]

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


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

select 床位,姓名,{表A}.ID,项目,规格,单价 from {表A} inner join {表B} on {表A}.ID = {表B}.ID where 日期 is null and {表A}.ID in ('001','005','008') order by 床位

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


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2009/4/8 13:55:00 [只看该作者]

以下是引用菜鸟foxtable在2009-4-8 11:33:00的发言:
select 床位,姓名,表A.ID,项目,剂量,用法,用量,单位,单价 from 表A inner join 表B on 表A.ID = 表B.ID where 停止日期 is null and ID in (2009111,2009114,2009121) order by 床位

执行上述代码提示""

删除紫色代码执行正常...


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

原数据是外部表,这里我做了个简单示例为内部表,请老师指点...

select 床位,姓名,{表A}.ID,项目,规格,单价 from {表A} inner join {表B} on {表A}.ID = {表B}.ID where 日期 is null and ID in (001,005,008) order by 床位

从ID为001,005,008中提取日期为空的项目数据,并以床位为排序依据...

 下载信息  [文件大小:312.0 KB  下载次数:2]
图片点击可在新窗口打开查看点击浏览该文件:测试文件.table
[此贴子已经被作者于2009-4-8 13:41:17编辑过]

你的查询语句有紫色的部分为:ID in (2009111,2009114,2009121),但我看你的事例中Id列是字符型,如果是字符型,应改为 ID in ('2009111','2009114','2009121'),不知是否是这儿的错误。


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


加好友 发短信 菜鸟中的老鸟
等级:七尾狐 帖子:1486 积分:10064 威望:0 精华:9 注册:2008/11/14 8:54:00
  发帖心情 Post By:2009/4/8 13:58:00 [只看该作者]

图片点击可在新窗口打开查看怪事了....

原来项目文件里的ID in (....  ... ) 括号内是通过复合列表框生成的字符串,生成如(001,002,003)的字符串,如果没跨表查询就没有提示错误.....一加上跨表查询就出错...为什么?

原项目用的是外部SQL数据表

难道不跨表查询用(001,002,003)
跨表就用('001','002','003')???
[此贴子已经被作者于2009-4-8 14:01:00编辑过]

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


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

看4楼

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


加好友 发短信 菜鸟中的老鸟
等级:七尾狐 帖子:1486 积分:10064 威望:0 精华:9 注册:2008/11/14 8:54:00
  发帖心情 Post By:2009/4/8 14:02:00 [只看该作者]

为何不跨表查询又正常呢?同样的代码生成ID 字符串...

原查询代码为
select ID,项目,规格,单价 from {表A} where 日期 is null and ID in (001,005,008)

我回单位再测试一下....图片点击可在新窗口打开查看
[此贴子已经被作者于2009-4-8 14:04:09编辑过]

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


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

1、两个表都有ID列,自然要明确是哪一个表的,单表没有这个问题。
2、字符值应该用单引号括起来

所以:

{表A}.ID in ('001','005','008')

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


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2009/4/8 14:07:00 [只看该作者]

以下是引用狐狸爸爸在2009-4-8 13:46:00的发言:
select 床位,姓名,{表A}.ID,项目,规格,单价 from {表A} inner join {表B} on {表A}.ID = {表B}.ID where 日期 is null and {表A}.ID in ('001','005','008') order by 床位

不仅仅是引号的问题,最关键的区别是在 Where 日期 is Null and {表A}.Id in ('001','005','008') ……    ,ID前面加了一个{表A},原因贺老师已经在前面讲清楚了。

[此贴子已经被作者于2009-4-8 14:10:16编辑过]

 回到顶部
总数 11 1 2 下一页