有关数据插入的问题(在线等)

wangdongzjk 北京融数数据服务有限责任公司 CTO/CIO/技术副总裁/总工程师  2003-05-12 06:12:38
有以下数据表:
color

Color1 Color2 Color3
Red Red Red
red Blue Yellow
white green white
black blue green

上表是COLOR表,每一条纪录有三种颜色,color1,color2,color3组成,例如:(red,red,red).
假设color表中记录的是赛车的配色方案,其中color1, color2, color3分别对应车头,车身和车尾的颜色。现在请你添加一些配色方案记录,要求如下:
1. 不要产生重复记录,也不要和表中原有的记录重复。
2. 根据原有的记录,用车头的颜色刷车身和车尾。例如,原有的车头颜色有red, white, black,则以此产生的新方案有:(red, red, red), (white, white, white), (black, black, black),但是原表中已有(red, red, red)记录,所以只需插入(white, white, white), (black, black, black)。
3. 根据原有的记录,用车身的颜色刷车尾,车头的颜色不变。例如,根据原有记录(white, green, white)产生的新方案为:(white, green, green),该记录原表中没有,所以可以插入。
4.用一条SQL语句完成。
请注意,是一条语句!!!

...全文
8 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
武哥博文 2003-05-13
请试试下面的语句:
SELECT A.COLOR1,B.COLOR1,C.COLOR1 FROM COLOR A,COLOR B,COLOR C
WHERE NOT A.COLOR1+B.COLOR1+C.COLOR1 IN (SELECT COLOR1+COLOR2+COLOR3 FROM COLOR)
UNION
SELECT A.COLOR1,B.COLOR2,C.COLOR2 FROM COLOR A,COLOR B,COLOR C
WHERE NOT A.COLOR1+B.COLOR1+C.COLOR1 IN (SELECT COLOR1+COLOR2+COLOR2 FROM COLOR)

回复
july 2003-05-12
为什么1条语句,是考试还是啥,否则不是很简单,是不是没有事情找事情做
回复
raininginmorning 2003-05-12
很奇怪,到处有人要求一条语句,难道真的那么多地方一定要一条语句么?
回复
CrazyFor 2003-05-12
三个循环嵌套生成所有颜色的组合,插入前再判断是不是已经有这样的组合,没有就插入记录。
回复
相关推荐
发帖
MS-SQL Server
创建于2007-09-28

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2003-05-12 06:12
社区公告
暂无公告