
name,id,colid分别为字段名称,就是列名;id为表的id号;字段id号
如果我们想把某一个表的字段找出来那就用:
select
*
from
Master.dbo.syscolumns
where
id=’xxxxx‘,当然,where后的id的值就是目标数据表的id
。相反,如果们想找T1和T2所在的表,那么得用连接了。
select
*
from
sysobjects
o,syscolumns
c
where
c.name='T1'
and
c.id=o.id
select
*
from
sysobjects
o,syscolumns
c
where
c.name='T2'
and
c.id=o.id
这样有T1列的表和有T2列的表的所有信息就选出来了
然后这两个结果集再取交集的话就是这两个列都有的表的信息了。至于函数就不写了。函数的功能语句主体应该很明确了吧。
select * from tb where a like '%'+b+‘%’ or b like ‘%’+a+‘%’mssql也可以用charindex,单mysql得用instr
select * from tb where charindex(a,b)>0 or charindex(b,a)>0
select * from tb where instr(a,b)>0 or instr(b,a)>0
vlookup 函数可以直接搞定\x0d\x0a语法:VLOOKUP(查找值,区域,列序号,逻辑值) \x0d\x0a“查找值”:为需要在数组第一列中查找的数值,它可以是数值、引用或文字符串。 \x0d\x0a“区域”:数组所在的区域,如“B2:E10”,也可以使用对区域或区域名称的引用,例如数据库或数据清单。 \x0d\x0a“列序号”:即希望区域(数组)中待返回的匹配值的列序号,为1时,返回第一列中的数值,为2时,返回第二列中的数值,以此类推;若列序号小于1,函数VLOOKUP 返回错误值 #VALUE!;如果大于区域的列数,函数VLOOKUP返回错误值 #REF!。 \x0d\x0a“逻辑值”:为TRUE或FALSE。它指明函数 VLOOKUP 返回时是精确匹配还是近似匹配。如果为 TRUE 或省略,则返回近似匹配值,也就是说,如果找不到精确匹配值,则返回小于“查找值”的最大数值;如果“逻辑值”为FALSE,函数 VLOOKUP 将返回精确匹配值。如果找不到,则返回错误值 #N/A。如果“查找值”为文本时,“逻辑值”一般应为 FALSE 。\x0d\x0a \x0d\x0a另外: ·\x0d\x0a如果“查找值”小于“区域”第一列中的最小数值,函数 VLOOKUP 返回错误值 #N/A。 ·\x0d\x0a如果函数 VLOOKUP 找不到“查找值” 且“逻辑值”为 FALSE,函数 VLOOKUP 返回错误值 #N/A。 \x0d\x0a \x0d\x0a下面举例说明VLOOKUP函数的使用方法。 \x0d\x0a \x0d\x0a假设在Sheet1中存放小麦、水稻、玉米、花生等若干农产品的销售单价:\x0d\x0aAB \x0d\x0a1 农产品名称 单价 \x0d\x0a2 小麦 0.56 \x0d\x0a3 水稻 0.48 \x0d\x0a4 玉米 0.39 \x0d\x0a5 花生 0.51 \x0d\x0a????????????? \x0d\x0a100 大豆 0.45 \x0d\x0a \x0d\x0aSheet2为销售清单,每次填写的清单内容不尽相同:要求在Sheet2中输入农产品名称、数量后,根据Sheet1的数据,自动生成单价和销售额。设下表为Sheet2: \x0d\x0a A B CD \x0d\x0a1 农产品名称 数量 单价 金额 \x0d\x0a2 水稻1000 0.48 480 \x0d\x0a3 玉米 20000.39 780 \x0d\x0a??????????????????? \x0d\x0a \x0d\x0a在D2单元格里输入公式: =C2*B2 ; \x0d\x0a在C2单元格里输入公式: =VLOOKUP(A2,Sheet1!A2:B100,2,FALSE) 。 \x0d\x0a如用语言来表述,就是:在Sheet1表A2:B100区域的第一列查找Sheet2表单元格A2的值,查到后,返回这一行第2列的值。 这样,当Sheet2表A2单元格里输入的名称改变后,C2里的单价就会自动跟着变化。当然,如Sheet1中的单价值发生变化,Sheet2中相应的数值也会跟着变化。 其他单元格的公式,可采用填充的办法写入。欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)