~ ~ 一个select........语句搞不清了??????大侠帮忙呀

Kooo 2004-04-20 11:35:29
表1:报名人,报名时间,状态
柳颜 2004-4-1 已报名
王觉 2004-4-5 已报名
张进 2004-4-2 取消报名
表2:学员,入学时间,状态
刘山 2004-3-5 在读
张云 2003-4-5 毕业

要得到记录集:(where条件是:班号=0401,报名时间=表达式,入学时间=表达式,表1.状态='已报名',表2.状态='在读',按照[状态]排序)
姓名,时间,状态
柳颜 2004-4-1 已报名
王觉 2004-4-5 已报名
刘山 2004-3-5 在读



...全文
29 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
csdngoodnight 2004-04-21
  • 打赏
  • 举报
回复
回复人: leolan(史留香) ( ) 信誉:105 2004-04-20 11:50:00 得分:0


SELECT * FROM (
SELECT 报名人 AS 姓名,报名时间 AS 时间,状态
FROM 表1
WHERE 班号=0401,报名时间=表达式, 状态='已报名'
UNION
SELECT 学员,入学时间,状态
FROM 表2
WHERE 班号=0401,入学时间=表达式, 状态='在读'
) AS A
ORDER BY 状态





’偶也凑个热闹:
where 后面的逗号改为 and 应该没问题的,楼主的目的无非是想把班号为0401的已报名的和就读的记录捏到一起而已。
0401 字段要改成字符型的。
可以把以上代码放到server的查询分析器里,看看结果不就行了。

SELECT * FROM (SELECT 报名人 AS 姓名,报名时间 AS 时间,状态 FROM 表1 WHERE 班号='0401' and 报名时间=表达式 and 状态='已报名' UNION SELECT 学员,入学时间,状态 FROM 表2 WHERE 班号='0401' and 入学时间=表达式 and 状态='在读') AS A ORDER BY 状态
ryuginka 2004-04-21
  • 打赏
  • 举报
回复
解决问题
治标要治本啊,主要是设计问题.
射天狼 2004-04-21
  • 打赏
  • 举报
回复
不要在这里说这个不对,那个不对,正确的是什么,谁也没调试过,在这里写东西只是给楼主一个启示,不能全写正确了,难道谁是田鸭啊~~~~~
射天狼 2004-04-21
  • 打赏
  • 举报
回复
"SELECT NAME, DATE, STATE FROM (SELECT NAME, DATE, STATE FROM TABLE1 WHERE ID = '0401' AND DATE = '" & TXTDATE.TEXT & "' AND STATE = '已报名'
UNION
SELECT NAME, DATE, STATE FROM TABLE2 WHERE ID = '0401' AND DATE = '" & TXTDATE.TEXT & "' AND STATE = '在读') AS MAIN ORDER BY STATE"
Kooo 2004-04-21
  • 打赏
  • 举报
回复
有id字段,上面的只是主要几个字段,在sql server数据库里。
wumy_ld 2004-04-20
  • 打赏
  • 举报
回复
表结构设计有缺陷,如果出现重名的情况,楼主的设计就会出问题。
建议添加一个id字段,用于唯一标识每个学员。
lfshf 2004-04-20
  • 打赏
  • 举报
回复

我通常是在ACCESS中创建查询,SQL语句就有了。
ryuginka 2004-04-20
  • 打赏
  • 举报
回复
楼主的两个表没有任何的关联,
ryuginka 2004-04-20
  • 打赏
  • 举报
回复
大家有必要对这样查询语句研究吗?明显是系统分析的不好,表结构分析的也不好.我建议楼主重新定义表结构
recollectpainer 2004-04-20
  • 打赏
  • 举报
回复
补充一下:
where 条件中的 班号=0401 有可能不正确
如果类型为整则前面不会出现0401而应是401
如果类型为字符则条件中应写为 班号='0401'

所以你最好象 中海 大侠说的那样把环境叙述清楚
这样大家才好帮你
在VB中也可以按F1调用系统帮忙来查询select语句的用法
在MSDN中可能不够直观,你可以VB中随便哪个地方写上SELECT
然后把光标在这单词上点一下,再按F1就会有关于<SQL 引用>的帮助了
victorycyz 2004-04-20
  • 打赏
  • 举报
回复

留香的东西,至少 班号=0401 这里欠考虑。
ukyoxh 2004-04-20
  • 打赏
  • 举报
回复
应该使用留香的东西,嘿嘿

SELECT * FROM (
SELECT 报名人 AS 姓名,报名时间 AS 时间,状态
FROM 表1
WHERE 班号=0401,报名时间=表达式, 状态='已报名'
UNION
SELECT 学员,入学时间,状态
FROM 表2
WHERE 班号=0401,入学时间=表达式, 状态='在读'
) AS A
ORDER BY 状态
victorycyz 2004-04-20
  • 打赏
  • 举报
回复

请楼主把前提条件写清楚。比如,是什么数据库?SQL Server还是Access,表结构写完整。包括字段名、字段类型。表1和表2中重复的行怎么处理等等等等。

顺便说一下,一、二楼写的都不对。
leolan 2004-04-20
  • 打赏
  • 举报
回复
SELECT * FROM (
SELECT 报名人 AS 姓名,报名时间 AS 时间,状态
FROM 表1
WHERE 班号=0401,报名时间=表达式, 状态='已报名'
UNION
SELECT 学员,入学时间,状态
FROM 表2
WHERE 班号=0401,入学时间=表达式, 状态='在读'
) AS A
ORDER BY 状态
pyf1027 2004-04-20
  • 打赏
  • 举报
回复
select t1.*,t2.*
from t1,t2
where 班号=0401 and 报名时间=表达式 and 入学时间=表达式 and 表1.状态='已报名' and 表2.状态='在读' Order By 状态
liujiayu10 2004-04-20
  • 打赏
  • 举报
回复
select t1.*,t2.*
from t1,t2
where 班号=0401,报名时间=表达式,入学时间=表达式,表1.状态='已报名',表2.状态='在读',按照[状态]排序
Javashop开发规范V2.2 版本 说明 提交人 V1.0 初稿 定义了包名、异常、事务、和路径的规范 王峰 V2.0 1. 重新整理了命名规范 2. 增加常用命词对照表 王峰 V2.1 1.增加数据库操作的说明 2.增加常用方法介绍 王峰 V2.2 增加关于数据导入导出的说明 王峰 V2.3 增加校验使用说明(5.3章节) 王峰 1 命名规范 1.1 包命 1. 小写字母 2. 以com.enation.javashop开头 3. 组件以com.enation.compoent开头 1.2 类名 一、 action 以Action结尾,如:UserAction 二、 业务类 1.接口: 以I开头,以Manager结尾,如:IUserManager 2.实现类 以Manager结尾,如:UserManager 三、 组件类 以Component结尾,如:ShopEmailComponent 四、 挂件类 以Widget结尾,如:MemberAddressWidget 五、 插件类 以Plugin结尾,如:SendRegMailPlugin 1.3 变量/属性命名规则 1. 全部小写 2. 可用下划线连接 如:username、 userid 1.4 方法命名 1.4.1 Action类 add 到添加页 edit 到修改页 saveAdd 保存添加 saveEdit 保存修改 delete 删除 list 列表 1.4.2 业务类 add 添加 edit 修改 delete 删除 list 列表 get 读取详细 2 数据库开发规范 2.1 数据操作支持类 一、 业务类数据库调用 1.继承于BaseSupport 2.在spring文件中声明parent为baseSupport 3.通过this.baseDaoSupport操作数据库 实际使用的是:com.enation.eop.sdk.database.BaseJdbcDaoSupport 此种操作示例: com.enation.javashop.core.service.impl.BrandManager 注意事项:见【BaseDaoSupport的意义和存在的问题】 二、 直接声明baseDaoSupport操作数据库 在一些挂件类中或某些特殊情况,可以直接需要直接声明baseDaoSupport 此种操作示例: com.enation.javashop.core.service.impl.batchimport.GoodsSpecImporter 注意事项:见【BaseDaoSupport的意义和存在的问题】 2.2 BaseDaoSupport的意义存在的问题 BaseDaoSupport对JdbcDaoSupport进行包装,通过 baseDBRouter 获取表名, 为什么要通过 baseDBRouter 来获取表名呢?Eop机制是支持SAAS(多租户)模式运行的,在SAAS会为每个用户提供如:es_goods__这样的表。 为了保证在单机版和SAAS模式中都运行正常,BaseDaoSupport将过滤sql中的相应表名。 但目前还只能支持简单的单表select、insert、update,对于多表的联合查询或更新不能支持。 在这种情况下,就需要通过 daoSupport(com.enation.framework.database.impl.JdbcDaoSupport)来操作,daoSupport不对sql进行任何更改,这时为了保证兼容saas模式兼容性,就要使用BaseSupport.getTableName(String tablename)方法 或baseDBRouter.getTableName(String tablename);来保证表名的正确。 (够混乱?真心希望出现一位大侠拯救这个状况,使basedaosupport可以处理所有情况的sql) 2.3 实体Bean和数据库表对照 Javahop数据库操作支持,将对象直接保存或修改,如: this.baseDaoSupport.insert("brand", brand); this.baseDaoSupport.update("brand", brand, "brand_id=" + brand.getBrand_id()); 规则为:实体中的属性名和数据库表的字段名相同,如: 对应的数据库字段: 2.4 注解的使用 2.4.1 @NotDbField 在某个实体Bean中,我们可能会有一些属性不对应数据库字段,这时我们需要在相应的 Geter方法中加上@NotDbField注解,以便使数据库机制知道这个字段不转为sql语句,如: private File file; @NotDbField public File getFile() { return file; } 2.4.2 @PrimaryKeyField 在实合格bean和数据库对照过程中,数据库机制需要识别主键,所以需要我们在主键的对应属性的Geter方法中加上@PrimaryKeyFiled注解,如: private Integer brand_id @PrimaryKeyField public Integer getBrand_id() { return brand_id; } 3 数据导入 3.1 导入接口 DBSolutionFactory.dbImport("file:com/enation/javashop/component/coupon/add.xml","es_"); 3.2 数据Xml文件说明 3.2.1 创建表 create tablename
id int 8 name varchar 255
3.2.2 删除表 drop tablename
3.2.3 添加、删除列 alter goods
isgroupbuy int 1 0 isgroup
3.2.4 创建索引 index goods
goodsid
3.2.5 删除索引 unindex goods
goodsid
3.2.6 插入数据 insert es_adcolumn
acid,cname,width,height,atype,disabled 5,'列表页上部横幅','972px','67px',0,'false'
3.2.7 删除数据 暂未支持 3.2.8 更新数据 暂未支持 3.3 数据类型对照表 xml Mysql Oracle SqlServer int int NUMBER smallint int(1) smallint(1) NUMBER(2) int memo text CLOB text datetime datetime TIMESTAMP datetime long bigint NUMBER bigint decimal decimal NUMBER(20,2) decimal 4 数据导出 String[] tables = new String[1]; tables[0] = "es_auth_action"; DBSolutionFactory.dbExport(tables, false, "") 5 常用方法介绍 5.1 上下文获取 参见: http://www.javamall.com.cn/developer_help/index.php/常用方法 5.2 地区联动下拉框 1.如果是在jsp 中: <html:regionselect></html:regionselect> 2.如果是在Freemarker的html中: <#assign RegionSelect= "com.enation.app.base.component.widget.regions.RegionSelectDirective"?new()> <@RegionSelect /> 以上两种方式均支持以下参数: province_id:省id city_id:市id region_id:区id 如果指定上述参数,则默认选中 5.3 客户端校验 EOP自动为应用提供表单校验功能,通过指定form样式名和指定表单项特定属性的方式来完成。 5.3.1 示例 代码示例 [removed] function checkUserName(val){ if(val=='kingapex' ) return true; else return "用户名已存在"; } $.Validator.options={lang:{isrequired:'此项不能为空!'}}; [removed] <form class="validate"> 必须:<input type="text" name="test1" isrequired="true">
整型:<input type="text" name="test2" isrequired="true" dataType="int">
浮点型:<input type="text" name="test3" dataType="float">
邮件:<input type="text" name="test4" isrequired="true" dataType="email">
日期:<input type="text" name="test5" isrequired="true" dataType="date">
电话号码:<input type="text" name="test6" isrequired="true" dataType="tel_num">
手机:<input type="text" name="test7" isrequired="true" dataType="mobile">
邮政编码:<input type="text" name="test8" isrequired="true" dataType="post_code">
网址:<input type="text" name="test9" isrequired="true" dataType="url">
自定义函数:<input type="text" name="test10" isrequired="true" fun="checkUserName">
<input type="submit" value="确定" /> </form> 5.3.2 参数说明: 5.3.2.1 isrequired 为true则为必填项,不指定或指为false则为非必填项。 5.3.2.2 dateType 指定校验特殊类型,支持的类型见下表: 类型 说明 int 整数 float 浮点数 email 邮件格式 date 日期格式 tel_num 电话格式 mobile 手机格式 post_code 邮编 url 网址 5.3.2.3 fun 自定义校验函数,返回真则通过校验,返回假或字串则校验失败,返回的字串会出现在失败提示框中。 5.3.2.4 动态绑定校验函数 通过 setValidator实现 $("#region_id").setValidator(function(){ var value = $("#region_id").val(); if( value=="" || value=="0" ) return "地区信息不完整"; else return true; }); 5.3.2.5 提示器 提示器用于显示校验的结果,如果不指定默认会在校验的控件后面创建一个span做为提示器。 可以通过两种方式指定提示器: 一、在控件中声明tiper属性: <input type="text" name="username" tiper="#name_tiper" /> 注:tiper指定的是jquery的一个选择器表达式。 二、动态指定: $("#region_id").setTiper($("#name_tiper")); 注:此时指定的是jquery对象,而不是一个表达式 5.3.2.6 手动调用: $("#siteForm").checkall(); 6 常用字典对照表 6.1 常用值 名称 值 说明 返回结果 0:失败 1:成功 适用于: 1. 客户端json返回值 2. 服务器端方法返回值 3. 数据库是否的标识值 性别 0:女 1:男 6.2 常用名称 名称 英文 商品 goods 货品 product 规格 spec 订单 order 会员 member 积分 point 购物车 cart 结算 checkout 订单 order 品牌 brand 分类 cat 优惠劵 coupon 支付 payment 团购 groupbuy 虚拟 virtual 发票 receipt 属性 prop 参数 param 标签 tag 地区 region 7 异常 1. 提供统一的异常处理机制 2. 底层级别的类不处理异常,只管向上抛出异常,且统一抛出RuntimeExcepton 8 事务处理 1. 数据库统一使用Srping AOP事务 2. 采用注解方式: 在接口处: @Transactional(propagation = Propagation.isrequired) 9 路径的规范 返回的路径变量最后不带 ‘/’ 如:String path =”user/1”; 使用者: path = path+”/”+myVar; 10 样式/HTML规范 10.1 前台分页

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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