作者PsMonkey (痞子军团团长)
看板Database
标题Re: [SQL ] 请问正规化的表格该如何连接
时间Wed Aug 30 22:48:05 2006
※ 引述《Orrrrz (蜈蚣男)》之铭言:
: 在下使用的程式如下述
: 资料库系统:SQLSERVER2005
: 网页语言:ASP
: 设计平台:DREAMWEAVER
^^^^^^^^^^^^^^^^^^^^^^
看到这个就觉得有点囧
: =================================================
: 因为有的表格因为正规化的问题,需要拆成2-3张资料表
: 如有一问卷
: 填表人: 填表时间:
: 1.(略) 1 2 3 4 5
: 2.(略) 1 2 3 4 5
: 3.(略) 1 2 3 4 5
: 4.(略) 1 2 3 4 5
: .
: .
: . (圈选1-5其中之一)
: =================================================
: 故将其设计成两张资料表
: 资料表-1
: [资料编号,填表人,填表时间]
: (PK)
: 资料表-2
: [资料编号,选项编号,内容]
: (PK(FK)) (PK)
如果单纯以你说得这个 case
除非你有要针对每一条问题作选项的统计分析
(又希望这个工作用 SQL 语法解决,又不至於太不直觉... XD)
不然,直接用一个栏位,用逗号分隔的分式来纪录问卷结果
像:
1,3,5,2,4
捞出来之後前端的语言再来处理就好啦...
: =================================================
: 但在连接的时候却不知道该如何下手
: 因在下对ASP跟SQL语言都涉猎不深
: 简单的一对一连结还可以完成
: ﹝填表人 对应至 TABLE1-填表人,填表时间 对应至 TABLE1-填表时间﹞
坦白说... 完全看不懂你的叙述....
: 但在选项内容的地方却不知道该如何与以连结
: 是有想到用SQL语法手动写入 TABLE2-内容 一栏
: 然後再抓字串取得选项编号与资料编号,然後再填入
: 可是想是这样想,却完全不知道该怎麽下手
: 能不能麻烦前辈指点迷津
假设你的「资料编号」就是每一张问卷的 pk
那麽...
select tab1e.*, table2.* from table1, table2
where table1.资料编号=table2.资料编号
就这样子阿....
=====
另外... 我是真的没去找过什麽 Database 的讨论区啦
只是下意识的觉得好像没啥地方在讨论 DB
就恶搞地去申请这个版...
现在也只多知道一个
在赛迪网上头有专属 Database 的讨论区
分类还蛮... 算细吧...
至少有名的 DBMS 都有自己的版
至於水量跟品质我就不知道了
大陆人的文章品质我是不敢说嘴
不过他们的用词跟简体字我没办法顺利转换
(还要注册会员等等鸟事情)
所以我就没去看,也不敢在这边推荐... [逃]
既然有人问的话,就顺便讲一下
anyway... 买本好书还是比较实际
--
战略高手 -- CompScience 组组长 PsMonkey
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.32.98.181