2011-04-29 44 views
0

请有人可以为我解决这个问题?不知道怎么问=/如何在确定的列中添加值并使用语句?

我有2个主要栏目:

比赛(PK)和RESULT 并命名RESULTCHECK

其他专栏中,我需要插入的值“1” RESULTCHECK列的结果有一些像这样的语句。

例如

CONTEST RESULT 
1   1,2,3,4,5 
2   2,3,4,5,6 

我想是这样 INSERT INTO RESULTCHECK值1 WHERE结果LIKE '%2.3%'

我该怎么办呢?

,并在最后我有现在的结果是:

CONTEST RESULT  RESULTCHECK 
1   1,2,3,4,5 1 
2   2,3,4,5,6 1 
3   5,6,7,8,9 NULL 

回答

1

你应该听@teresko's advice关于正确建模的数据(除了英语位),但在其他的答案是

update TABLENAME set RESULTCHECK = 1 where RESULT like "%2,3%" 
1

这是因为你的数据库结构是错误

有这个东西,叫做many-to-many relationjunction tables

基本上,你需要的是一个

CREATE TABLE ContestResults(
    contest_id INT NOT NULL, 
    result_id INT NOT NULL, 
    PRIMARY KEY (contest_id , result_id), 
    FOREIGN KEY (contest_id) REFERENCES Contests(contest_is) , 
    FOREIGN KEY (result_id) REFERENCES Results(result_is) 
) 

如果你一直对很多竞赛和许多可能的结果之间的关系数据。

P.S.请使用英文名称作为代码中的内容。

0

如果使用火鸟2.5,我想你也可以使用SIMILAR TO正则表达式

一个新的相似的谓词是 推出了支持正则表达式 。谓词的功能 用于验证给定的 SQL标准正则表达式 是否与字符串参数匹配。它是在可以接受的布尔 表达式,如WHERE子句, CHECK约束和PSQL IF()测试

任何上下文有效
相关问题