数据库与excel的几个技巧

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库与excel的几个技巧

一、例子:

如何实现关联表字段更新

有三个表分别是销售表、客户表、地区表:销售表有两个字段分别是客户编码和地区名称,其中地区名称都为空;客户表有两个字段是客户编码和地区代码,地区表有两个字段是地区代码和地区名称,现在想用sql语句更新销售表的地区名称字段为地区表中对应的地区名称,如何实现?

UPDATE多表更新(转)(2008-05-12 15:29:04)

转载标签:update多表更新sql 分类:php网络编程

在开发中,数据库来回换,而有些关键性的语法又各不相同,这是一件让开发人员很头痛的事情.本文总结了Update语句更新多表时在SQL Server,Oracle,MySQL三种数据库中的用法.我也试了SQLite数据库,都没成功,不知是不支持多表更新还是咋的.

在本例中: 我们要用表gdqlpj中的gqdltks,bztks字段数据去更新landleveldata 中的同字段名的数据,条件是当 landleveldata 中的GEO_Code字段值与gdqlpj中的lxqdm字段值相等时进行更新.

SQL Server语法:UPDATE { table_name WITH ( < table_hint_limited > [ ...n ] ) | view_name | rowset_function_limited } SET { column_name = { expression | DEFAULT | NULL } | @variable = expression | @variable = column = expression } [ ,...n ] { { [ FROM { < table_source > } [ ,...n ] ] [ WHERE <

search_condition > ] } | [ WHERE CURRENT OF { { [ GLOBAL ] cursor_name } | cursor_variable_name } ] } [ OPTION ( < query_hint > [ ,...n ] ) ]

SQL Server示例: update a set a.gqdltks=b.gqdltks,a.bztks=b.bztks from landleveldata a,gdqlpj b where a.GEO_Code=b.lxqdm

Oracle语法: UPDATE updatedtable SET (col_name1[,col_name2...])= (SELECT col_name1,[,col_name2...] FROM srctable [WHERE where_definition])

Oracel 示例: update landleveldata a set (a.gqdltks, a.bztks)= (select b.gqdltks, b.bztks from gdqlpj b where a.GEO_Code=b.lxqdm)

MySQL语法: UPDATE table_references SET col_name1=expr1 [,

col_name2=expr2 ...] [WHERE where_definition]

MySQL 示例: update landleveldata a, gdqlpj b set a.gqdltks= b.gqdltks, a.bztks= b.bztks where a.GEO_Code=b.lxqdm

多表关联修改关联字段的值sql语句

update cfg_dealer t

set t.provincerange = (select a.provinceid

from cde_city a

where

a.provincename = t.provincerange and a.cityname=t.cityrange),

t.cityrange = (select a.cityid

from cde_city a

where a.cityname = t.cityrange

and

a.provincename = t.provincerange)

where t.cid = '3130';

将城市表中的省份id城市id赋值给经销商表中的省份城市

高亮效果

If e.Row.RowType = DataControlRowType.DataRow Then

'当鼠标放上去的时候先保存当前行的背景颜色并给附一颜色

e.Row.Attributes.Add("onmouseover",

"currentcolor=this.style.backgroundColor;this.style.backgroundColor='Azu re',this.style.fontWeight='';")

'当鼠标离开的时候将背景颜色还原的以前的颜色

e.Row.Attributes.Add("onmouseout",

"this.style.backgroundColor=currentcolor,this.style.fontWeight='';") End If

一个UPDATE 语句中更新两个关联表中的多个字段?

大家好,我是新手。有个问题需要大家帮忙看看。

我需要在一个UPDATE 语句中更新两个关联表中的多个字段,我试写了下面的语句,结果报错如下:第 1 行: '(' 附近有语法错误。;第 4 行: '=' 附近有语法错误。

请各位高手帮我看看。谢谢大家!

update (select a.daco,b.branch,c.custcd,c.statcod2 from #accntab_temp a inner join dwdbsmas_temp b on (um=substring(b.custcod,1,6) and y=ycode and a.brcr=b.brca )

inner join tblcustcode c on (um=c.custcd)

where ( um between '260000' and '269993') and substring(a.acod,1,7)='2507009' and ((b.product='MA' and b.txtype='FD' ) or (b.product='FD' and b.txtype='NM' ) or

(b.product='CA' and b.txtype='CD' ) ) and substring(b.custcod,7,1)='S' and a.ldbl<>0 and

len(a.acod)=7 and substring(b.branch,1,7)<>'F' )

set acod=substring(acod,1,7)+'2060201',daco=(case when abs(ldbl)=amt then amt when abs(ldbl)>amt then amt when abs(ldbl)

例:如何在excel中筛选出两列中相同的数据并配对排序

假定原数据在SHEET1工作表中,请在SHEET2工作表A1单元格输入公式:

=IF(ROW()>SUM(IF(COUNTIF(Sheet1!C:C,Sheet1!$A$1:$A$3),1)),IF(ROW()>COUNT A(Sheet1!A:A),"",INDEX(Sheet1!A:A,SMALL(IF(COUNTIF(Sheet1!C:C,Sheet1!$A$ 1:$A$3),65536,ROW($1:$3)),ROW()-SUM(IF(COUNTIF(Sheet1!C:C,Sheet1!$A$1:$A $3),1))))),INDEX(Sheet1!A:A,SMALL(IF(COUNTIF(Sheet1!C:C,Sheet1!$A$1:$A$3 ),ROW($1:$3),65536),ROW())))

公式以CTRL+SHIFT+回车结束。

将公式向下复制。

在SHEET2工作表B1单元格输入公式:

=IF(A1="","",VLOOKUP(A1,Sheet1!A:B,2,))

将公式向下复制。

在SHEET2工作表C1单元格输入公式:

=IF(ROW()>SUM(IF(COUNTIF(Sheet1!C:C,Sheet1!$A$1:$A$3),1)),IF(ROW()>COUNT A(Sheet1!C:C),"",INDEX(Sheet1!C:C,SMALL(IF(COUNTIF(Sheet1!A:A,Sheet1!$C$ 1:$C$3),65536,ROW($1:$3)),ROW()-SUM(IF(COUNTIF(Sheet1!A:A,Sheet1!$C$1:$C

相关文档
最新文档