CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  疑难问题

SQL 建表问题?

楼主chh2002()2006-03-03 21:14:44 在 MS-SQL Server / 疑难问题 提问

我想建一张表,来表示超市的交易,假设超市有5种商品,分别为A   B   C   D   E,表记录交易情况,我想建成两个列,第一个表示交易的标识,用int就行,第二列表示改顾客所买的商品名的集合,如  
  1         {A}  
  2         {A   B   D}  
  3         {A   E}  
  请问这样可以吗?那第二列的数据类型   应该是什么,才能表示集合呢? 问题点数:20、回复次数:4Top

1 楼ping3000(苦练葵花点穴手)回复于 2006-03-04 15:23:43 得分 0

用Nvarchar吧   ,把商品用","或者";"分割开,如A,B,ETop

2 楼wgsasd311(自强不息)回复于 2006-03-04 15:27:08 得分 0

SQL   SERVER2000无此功能,这是对象关系型数据库所特有的,不知SQL   SERVER   2005是否支持对自定义对象类型(作为字段类型)Top

3 楼chh2002()回复于 2006-03-04 15:32:01 得分 0

能否具体解释一下nvarchar,  
  还是我用这种方式存储  
  id         A             B         C         D         E  
    1         1             0         0         0         0  
    2         1             1         0         1         0  
    3         1             0         0         0         1  
  买的为1,没买的为0,但是如果改超市有上千种,是不是太大了呢?Top

4 楼filebat(Mark)回复于 2006-03-05 15:18:40 得分 0

nvarchar就是unicode编码,存储空间大小不固定的字符类型。  
   
  要不,你用binary数据类型吧。  
  然后从低位到高位每一位表示一种货物,0表示没有买,1表示买了。  
  这样做有一个小问题就是,binary是用十六进制显示的,  
  所以如果你不习惯的话,自己再写一个显示转化的函数,让它以二进制显示吧。  
   
  顺便提一下,SQLSERVER支持二进制的位运算,如&,   |等。  
  Top

相关问题

  • sql 建表
  • SQL创建表的问题
  • sql建表,请帮忙
  • PL/SQL DEVELOPER里怎么用sql语句建表啊
  • sql与vb:怎样建表 急
  • 在SQL SERVER 里怎样建临时表?
  • 如何用SQL语句创建表!
  • sql server双主键 怎么建表????
  • 关于用sql 语言建表
  • 如何使用PL-SQL语言建表?

关键词

  • 类型
  • 表示
  • 超市
  • nvarchar
  • 商品
  • 显示

得分解答快速导航

  • 帖主:chh2002

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo