小编Jua*_*ado的帖子

SQLite更新日期SQL

SQLite新手

我正在尝试使用日期更新表.

像这样的东西:

Update MyTable Set MyCol=GetDate()
Run Code Online (Sandbox Code Playgroud)

什么是正确的语法?

sql sqlite date sql-update

4
推荐指数
1
解决办法
1万
查看次数

使用自联接进行更新

我想更新一个表,表明某些行是其他行的父级,所以我在表中添加了一个"parentid"列.以下查询查找所有父项:

SELECT ca1.id, ca2.id 
FROM contactassociations ca1
JOIN contactassociations ca2 ON (ca1.contactid = ca2.contactid)
where ca1.entitytable = 'EMPLOYER' AND
ca2.entitytable = 'CLIENT';
Run Code Online (Sandbox Code Playgroud)

但是当我尝试调整该语法来进行更新时,它不起作用:

UPDATE contactassociations ca1
SET    ca1.parentid = ca2.id
JOIN  contactassociations ca2 ON (ca1.contactid = ca2.contactid)
WHERE ca1.entitytable = 'EMPLOYER' AND ca2.entitytable = 'CLIENT';
Run Code Online (Sandbox Code Playgroud)

我明白了:

Error starting at line 6 in command:
UPDATE contactassociations ca1
SET    ca1.parentid = ca2.id
JOIN  contactassociations ca2 ON (ca1.contactid = ca2.contactid)
WHERE ca1.entitytable = 'EMPLOYER' AND ca2.entitytable = 'CLIENT'
Error at Command Line:7 Column:28 …
Run Code Online (Sandbox Code Playgroud)

sql oracle ora-00933 sql-update

4
推荐指数
2
解决办法
2万
查看次数

具有左连接和分组的SQL Server Update

我正在更新我们的数据库,并希望更新另一个表中没有现有项目的行.我可以将这些表连接在一起,但是在分组表时遇到问题需要计算行数

UPDATE dpt
SET dpt.active = 0 
FROM DEPARTMENT dpt
LEFT JOIN DOCUMENTS doc on dpt.ID = doc.DepartmentID
GROUP BY dpt.ID
HAVING COUNT(doc.ID) = 0
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

sql t-sql sql-server sql-update

4
推荐指数
1
解决办法
7023
查看次数

在一个查询中更新/增加多个 MySQL 列

我有这个查询,它有效......

UPDATE `contacts` 
       SET `calls_to`=`calls_to`+1 
  WHERE `contact_no` = '0412345678';
Run Code Online (Sandbox Code Playgroud)

我还想做的是为成本字段添加一个值。根据我的理解,这样做的方法是......

UPDATE `contacts` 
       SET `calls_to` = `calls_to`+1, 
             `cost_to` = `cost_to`+0.25 
  WHERE `contact_no`='0412345678';
Run Code Online (Sandbox Code Playgroud)

显然,正如我在这里发布的那样,它并没有像我预期的那样工作。

- 更新 -

按照要求,表结构..

id                  int(255) auto_increment
contact_owner  varchar(255)
contact_no       varchar(11)
contact_name   varchar(255)
calls_to            int(255)
txts_to             int(255)
time_talked_to   int(255)
cost_to            decimal(65,2)
Run Code Online (Sandbox Code Playgroud)

mysql sql sql-update

4
推荐指数
1
解决办法
1万
查看次数

是否可以在更新语句中使用相同的表两次?

我正在尝试按以下方式编写查询:

UPDATE Table i2
SET value = 0
WHERE EXISTS (SELECT 1 FROM Table i1 WHERE i2.ID = i1.ID+1)
Run Code Online (Sandbox Code Playgroud)

问题是我得到"i2'附近的语法错误." 我猜这是因为它不喜欢给正在更新的表提供昵称,但如果是这样的话,我该如何引用呢?

sql sql-server sql-update

4
推荐指数
1
解决办法
1208
查看次数

在一个UPDATE中SQL多个SET?

我有一个SQL字段,如下所示:

FIELD_A  
  cat     
  dog 
  bird
  mole
  dog
Run Code Online (Sandbox Code Playgroud)

我想要 UPDATE

  • 所有的都要哈巴狗
  • 所有的鸟儿猫头鹰
  • 所有安哥拉.

显然,SQL UPDATE语句一次只允许一个SET条件.

如何编写查询以一次完成上述操作?

sql sql-update

4
推荐指数
1
解决办法
1万
查看次数

更新选择使用NULL值连接

我有两个表STR_IndentDetail和PUR_POIndent

STR_IndentDetail:

   IndentID   ItemID    POQty     D1      D2       D3        RD
  ---------   -------  ------    ----     ---     ---        ---
    2            1       NULL     10       20      30        NULL
    2            6       NULL     20       40      60        45
Run Code Online (Sandbox Code Playgroud)

PUR_POIndent:

   POID        IndentID      ItemID     Quantity     D1     D2       D3        RD
  ------      ----------     ------    ----------   ----    ---      ---       ---
    2            2             1           55         10     20      30        NULL
    2            2             6           100        20     40      60         45
Run Code Online (Sandbox Code Playgroud)

我想用PUR_POIndent表数量更新STR_IndentDetail表POQty.我已经根据INNER JOIN和LEFT OUTER编写了两个Update语句.但两个查询仅更新一行,其中列D1,D2,D3和RD中的值.包含具有NULL值的列RD的行未获得UPDATE.如何为此案例编写更新声明.以下是我的两个更新声明.

基于内部联接:

     UPDATE STR_IndentDetail
                SET
                    POQty = PUR_POIndent.Quantity
                FROM
                    PUR_POIndent
                WHERE
                    PUR_POIndent.IndentID           = STR_IndentDetail.IndentID AND …
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2005 sql-server-2008 sql-update

4
推荐指数
1
解决办法
3006
查看次数

使用嵌套子查询(sum)更新以获取更新子句上的restricton

得到这一点SQL作为更新脚本,我试图添加一个工作回合,以便不能包括要更新的表作为语句中的子句,所以使用子查询,但努力让这个工作.

Essientially我需要更新表1中的vailue,其中包含表2中字段的总和,但只有在其他两个字段匹配几个表并且基于field6时,限制才会应用于update子句.

     UPDATE table1 W SET Field1=(SELECT field2 FROM
     (SELECT A.id, B.field3, SUM(A.field2) AS field2 
     FROM table2 A, table3 B, table4 P
     WHERE A.id=B.id AND P.field6=B.field6) B ) WHERE W.field6=B.field6
Run Code Online (Sandbox Code Playgroud)

在现实世界的例子中,当橄榄球运动员参加比赛时,选择在橄榄球比赛中承认的点数之和.表2具有结果(包括得分)表3具有团队表和表1和4是相同的要更新的播放器表.

希望这很清楚,有人可以指出我正确的方向.

尝试以下方法:

     UPDATE $WSLKEEP W, $WSLFIX A, $WSLFIXPLAY B 
     SET W.F_CONCEDED=SUM(A.F_AGAINST) 
     WHERE A.F_ID=B.F_GAMEID 
     AND B.F_NAME=W.F_NAME"
Run Code Online (Sandbox Code Playgroud)

但现在坚持:组功能的使用无效

亲切的问候

mysql sql subquery sql-update

4
推荐指数
1
解决办法
5019
查看次数

在MS SQLServer中交换两行,保留原始主键,无需手动更新

我有以下问题:我有像行

ID   CODE     NAME            .........
1    h1100h1  Cool example1   .........
2    h654441  Another cool1   .........
Run Code Online (Sandbox Code Playgroud)

我想交换它们保留所有旧的主键和约束.当然,我可以通过更新行手动轻松解决此问题.我有点想知道是否有人有这种问题的优秀解决方案,而不是手动执行更新命令.我非常感谢任何建议或建议.

sql sql-server constraints sql-update

3
推荐指数
1
解决办法
2532
查看次数

SQL:对INSERT和UPDATE使用相同的字符串?

我一直在使用的INSERT语法是这样的

INSERT INTO TableName VALUES (...)
Run Code Online (Sandbox Code Playgroud)

我一直在使用的UPDATE语法是

UPDATE TableName SET ColumnName=Value WHERE ...
Run Code Online (Sandbox Code Playgroud)

所以在我的所有代码中,我必须生成2个字符串,这将产生类似的结果

insertStr = "(27, 'John Brown', 102)";
updateStr = "ID=27, Name='John Brown', ItemID=102";
Run Code Online (Sandbox Code Playgroud)

然后单独使用它们

"UPDATE TableName SET " + updateStr + " WHERE ID=27 " +
"IF @@ROWCOUNT=0 "+
"INSERT INTO TableName VALUES (" + insertStr + ")"
Run Code Online (Sandbox Code Playgroud)

当我使用30列的表格时,它开始困扰我.

我们不能生成只在INSERT和UPDATE上使用的一个字符串吗?

例如.在UPDATE语句上使用insertStr或在INSERT语句上使用updateStr,还是一种全新的方式?

sql insert sql-update

3
推荐指数
2
解决办法
1812
查看次数