vb中sql的select查询语句的问题
一个sql数据库中有一个时间字段其格式是:2009-01-0110:10:10,要从该段中查询出2009-01,2009-02...后面的日时去掉,然后将查询出来数据放在...
一个sql数据库中有一个时间字段 其格式是:2009-01-01 10:10:10,
要从该段中查询出2009-01,2009-02...后面的日时去掉,然后将查询出来数据放在一个虚拟的表中,应该怎么写查询语句?请高手指点!!
select 时间 from table1 where 条件 ...
条件应该怎么些呢?谢谢
不好意思我可能没表达清楚,我就是从数据库中查询出时间段中的年月,然后以年月作为treeview的父节点,把完整的时间(即年月日时)作为子节点,利用treeview连接数据库 ,不知道怎么写查询语句 展开
要从该段中查询出2009-01,2009-02...后面的日时去掉,然后将查询出来数据放在一个虚拟的表中,应该怎么写查询语句?请高手指点!!
select 时间 from table1 where 条件 ...
条件应该怎么些呢?谢谢
不好意思我可能没表达清楚,我就是从数据库中查询出时间段中的年月,然后以年月作为treeview的父节点,把完整的时间(即年月日时)作为子节点,利用treeview连接数据库 ,不知道怎么写查询语句 展开
4个回答
展开全部
不能显示有两种情况:
1。程序有错误
2。程序没错,但查询到的数据集合为空
对于第2点又有2种情况:
a.SQL语句不对
b.SQL正确,数据库里的数据不满足条件
在多表查询时最好给所有字段都加上表名限制,减少出错的可能性
可以先测试一下SQL语句
SQL
SERVER在查询分析器里执行语句
ACCESS的话新建一个查询,在SQL视图中执行语句
照你前面所说,应该是Text1.Text
=
S.SNAME,可是你后面有些sql中又有WHERE
S.SNUM='"&
TEXT1.TEXT
&"'跟WHERE
SNAME='"&
TEXT1.TEXT
&"',我都不知道到底是哪个字段对应Text1.Text了。如果可以,把数据库结构贴出来看一下
我根据推测写了一个,你看看行不行
SELECT
C.CName
FROM
C,SC,S
WHERE
S.Snum=SC.Snum
AND
SC.Cnum=C.Cnum
AND
S.SName='"
&
Text1.Text
&
"'
//“&”号两边都有空格
我说的表明限制就是指
表名.字段名
这种写法,当数据库很大内容很多的时候,难免会有多个表拥有相同的字段名,当多表查询时这样可以减少一些错误
我猜你应该用的是Access吧,SQL
Server的话字符串要用单引号而不是双引号
你可以先在数据库测试sql语句,把S.SName='"
&
Text1.Text
&
"'换成S.SName="具体值"
没错后再放到程序里,如果还是有问题,设下断点跟踪调试
1。程序有错误
2。程序没错,但查询到的数据集合为空
对于第2点又有2种情况:
a.SQL语句不对
b.SQL正确,数据库里的数据不满足条件
在多表查询时最好给所有字段都加上表名限制,减少出错的可能性
可以先测试一下SQL语句
SQL
SERVER在查询分析器里执行语句
ACCESS的话新建一个查询,在SQL视图中执行语句
照你前面所说,应该是Text1.Text
=
S.SNAME,可是你后面有些sql中又有WHERE
S.SNUM='"&
TEXT1.TEXT
&"'跟WHERE
SNAME='"&
TEXT1.TEXT
&"',我都不知道到底是哪个字段对应Text1.Text了。如果可以,把数据库结构贴出来看一下
我根据推测写了一个,你看看行不行
SELECT
C.CName
FROM
C,SC,S
WHERE
S.Snum=SC.Snum
AND
SC.Cnum=C.Cnum
AND
S.SName='"
&
Text1.Text
&
"'
//“&”号两边都有空格
我说的表明限制就是指
表名.字段名
这种写法,当数据库很大内容很多的时候,难免会有多个表拥有相同的字段名,当多表查询时这样可以减少一些错误
我猜你应该用的是Access吧,SQL
Server的话字符串要用单引号而不是双引号
你可以先在数据库测试sql语句,把S.SName='"
&
Text1.Text
&
"'换成S.SName="具体值"
没错后再放到程序里,如果还是有问题,设下断点跟踪调试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你是先查所有的年月日作用父节点吧:
SELECT DISTINCT cast(YEAR(时间) as varchar(4))+'-'+cast(MONTH(时间) as varchar(2))+'-'cast(DAY(时间) as varchar(2)) FROM table1
然后字节点可以根据父节节点的年\月\日分别相等来查询!
SELECT DISTINCT cast(YEAR(时间) as varchar(4))+'-'+cast(MONTH(时间) as varchar(2))+'-'cast(DAY(时间) as varchar(2)) FROM table1
然后字节点可以根据父节节点的年\月\日分别相等来查询!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
where convert(varchar(7),shijian,120)>'2009-01'
虚拟的表:用临时表(表名字前面加#) 或建视图
虚拟的表:用临时表(表名字前面加#) 或建视图
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
其实没弄明白你要做什么...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询