sql数据表建字段思路求助

问题描述

sql数据库想建这样一个表tb,里面有字段ID(主键),b1,b2,b3,b4,b5,b6,b7...(二十来个吧)要求是:一条记录的字段内容不一定一次填写完全后才插入,有些是跨两年才录入完全。现就假设tb表就有b1到b7的7个字段吧,假设2008年录入ID=20005的b1,b2,b3这三个字段的值并写进了tb表里(而实际录入哪几个字段并不确定),而在2009年又录入了ID=20005的b4,b5,b6,b7字段的值并更新了tb表里ID=20005的这一条记录的值(实际也不确定具体哪些字段是下一年更新的)。我怎么才能区分ID=20005这条记录里,哪些字段是2008年更新的?哪些字段又是2009年更新的呢?这个tb表还应建什么字段来区分呢?大家帮我给个思路吧,谢谢了

解决方案

解决方案二:
不是你找不到办法解决,而是你已经钻进了死胡同,你的tb表设计本来就不合理,tb这个表如果分年度的化,你还不如干脆分表然后查询的时候把多个表连接起来查询。
解决方案三:
就是要求建在一个表里的
解决方案四:
有更好的思路吗,在线等待中...
解决方案五:
新建一列,每次更新的时候都把更新的列名update到这一列,不同年份更新的列用分隔符隔开,如“;”,一次更新多个列名可用其他符号如都“,”隔开,不知道这个方法可行不
解决方案六:
觉得楼上这方法有点可行,不过,我也得花点时间去理下,再收集点思路才给分,不好意思,再等会
解决方案七:
我很有耐心

时间: 2024-12-06 16:15:23

sql数据表建字段思路求助的相关文章

跪求一sql语句:查询sql数据表的字段的备注内容

问题描述 是这样的,想做一个对应表字段的查询联合查询,因为数据表的字段名是英文的,但备注是汉字的,所以想根据备注查出对应表的字段名,然后在按这个字段进行查询.首先:第一步查出表说所有字段的备注2:然后根据备注内容查询出字段名:我是菜鸟,请大家帮下忙!! 解决方案 解决方案二:selectcommentsfromuser_col_commentswheretable_name='TEST'andcolumn_name='NAME';解决方案三:declare@atable(字段名nvarchar(

方便查看数据表和字段的SQL语句(适用于SQLServer2000)

经过对SQLServer2000系统表的分析,写出了以下两个SQL语句.可以把这两个语句分别建为两个"视图",方便查看用户数据表和字段的信息. 1.列出所有的用户数据表: SELECT TOP 100 PERCENT o.name AS 表名FROM dbo.syscolumns c INNER JOIN      dbo.sysobjects o ON o.id = c.id AND objectproperty(o.id, N'IsUserTable') = 1 AND      

如何去除my sql 数据表里一个字段的重复数据?中间用竖线分割开了,下附截图。

问题描述 如何去除my sql 数据表里一个字段的重复数据?中间用竖线分割开了,下附截图. 解决方案 1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select * from people where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1) 2.删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowi

SQL 把表中字段存储的逗号隔开内容转换成列表形式

原文:[原创]SQL 把表中字段存储的逗号隔开内容转换成列表形式 我们日常开发中,不管是表设计问题抑或是其他什么原因,或多或少都会遇到一张表中有一个字段存储的内容是用逗号隔开的列表. 具体效果如下图: ------>      从左边图转换成右边图,像这种需求,我们难免会遇到.      今天我写了个存储过程来解决这种问题.主要方式是利用master..spt_values表.       具体存储过程如下:        -- Author: LHM -- Create date: 2015-

sql-ASP读取SQL数据表 生成多记录JSON 具体代码如何写 求教大神

问题描述 ASP读取SQL数据表 生成多记录JSON 具体代码如何写 求教大神 数据表是user 主键是m_Name <%response.ContentType=""text/json"" response.write request(""jsoncallback"")%>([{""m_Name"":""*依旧""n_Name&quo

2005-如何在SQL数据表中如何剔除连续重复的记录,统计个数时只记做1条记录?

问题描述 如何在SQL数据表中如何剔除连续重复的记录,统计个数时只记做1条记录? 各位大虾帮帮忙:如何剔除数据表中连续重复的记录记做1条记录?? 数据表如下,我想要取result=0的sn在各prodorderid下的个数( 注意:要剔除连续重复的数据,记做1条记录,但是不连续的重复的分别记为1条记录 ) create table test ( id int identity(1,1) primary key, sn varchar(50) not null, prodorderid int n

sql数据查询出现字段为空和不为空相加不等于总数

问题描述 sql数据查询出现字段为空和不为空相加不等于总数 情景是这样,一个原始数据excle表格,数据总数为81439条,复制到数据库中select * from 查询后显示结果为81444,然后根据某个字段为空查询出4条,删除后应该是剩81440条呢! 问题出现了,根据某字段aa为空没有查询出来数据,根据aa不为空缺查出81439条数据,少一条.根据字段bb.cc结果一样,根据字段dd为空查询出数据1条,不为空的是81437.根据aa,bb,cc不为空查出81439条为空却查不出数据. 为什

select-java中怎么获取sql数据表中某指定行(gysqc=get_item)的所有数据?求解答

问题描述 java中怎么获取sql数据表中某指定行(gysqc=get_item)的所有数据?求解答 String get_item = (String) box.getSelectedItem(); String sql_chaxun = "select * from tb_gysinfo"; try { conn = daoConn.getConn(); st = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, Res

如何使用规则来限制数据表中字段的有限范围

问题描述 问题是:如何使用规则来限制数据表中字段的有限范围 解决方案 解决方案二:使用rule或者CHECK约束都可以达到你要的效果!建议在数据库层实施!如果是在界面层,建议定义属性检查.解决方案三:能不能详细的介绍一下啊,我不太清楚唉,谢谢解决方案四:CHECK约束列可以有任意多个CHECK约束,并且约束条件中可以包含用AND和OR组合起来的多个逻辑表达式.列上的多个CHECK约束按创建顺序进行验证.搜索条件必须取值为布尔表达式,并且不能引用其它表.列级CHECK约束只能引用被约束的列,表级C