作者inpin (刀)
看板Visual_Basic
标题[SQL ] 新手发问~关於两个表的关系
时间Sun Jul 17 23:30:42 2011
※ [本文转录自 Database 看板 #1E8S_6W7 ]
作者: inpin (刀) 看板: Database
标题: [SQL ] 新手发问~关於两个表的关系
时间: Sun Jul 17 01:52:02 2011
小弟是SQL的新手
使用SQL2005
目前在练习一个关於上班打卡的程式(VB6.0)
现在遇到一个瓶颈
就是我有两个表
一个是关於员工的基本资料
一个是每天刷卡的纪录
栏位设计大概是这样的
Table员工emp
部门Depart、职位Post、身分字号ID、卡号CardNo、
生日Birth、地址Address、电话TEL、车号Car、照片Pic 、常日班人员Normal(属性为bit)
Table纪录reco
部门Depart、职位Post、卡号CardNo、时间Time、日期Date
我在datagrid建立一个查询
程式码部分是没问题 会验证人员是否为常日班人员然後写入资料库
现在问题是 我要在我的Datagrid中
除了要显示当天的刷卡纪录之外,还要加入表emp中的常日班人员Normal栏位
因为我程式的写法是点查询按钮後 系统会针对输入的日期去显示资料
不过Datagrid中我虽然select两个表
但是显示出来的常日班人员这个栏位好像有问题
会显示 -1...
我希望可以看到纪录 并且知道这个人是否是常日班人员
应该是select写法出问题或者资料库设计方面没设好
请问有无大大可以指导一下小弟~~多谢罗@@
--
卡乐B
波浪创新意~~~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 203.203.8.168
--
卡乐B
波浪创新意~~~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.167.196.135
1F:→ MOONRAKER:SELECT * FROM reco AS R LEFT JOIN emp AS E 07/18 02:06
2F:→ MOONRAKER: ON R.CardNo = E.CardNo 总之去找join的部份来看 07/18 02:06
3F:→ inpin:嗯...试过了可是会怪怪的 同一个人常日班会出现0跟1都有... 07/18 20:38
4F:→ MOONRAKER:不会吧 卡号不唯一吗?你要从一个表的记录顺便带出 07/18 23:39
5F:→ MOONRAKER:另个表的相关记录 join是最简单有效的方法 07/18 23:39
6F:→ MOONRAKER:研究一下join应该可以写出正确没问题的query 07/18 23:40
7F:→ inpin:恩恩...我再研究看~可能当初设计有问题XD 谢谢唷 07/22 23:04
8F:→ MOONRAKER:那就惨了 XD 你用SQL 2005 应该可以在他的management 07/23 00:47
9F:→ MOONRAKER:studio里面揣摩一下怎麽写 那可以马上看到结果 07/23 00:47
10F:→ MOONRAKER:没问题再写进程式里 07/23 00:48