vb中的sql语句,可以详细说一下表与表之间如何连接的,亲们谢谢了

ADOdb.RecordSource = "SELECT Distinct Area.AreaName,Data.AccountID, Data.SBInfoID,Data.sYear, Data.sMonth,Data.UnitPrice,Data.SSUNFL,Client.UserName,Data.ID,Data.Typename,Client.userJFtype" _
+ " FROM (Client INNER JOIN Area ON Client.AreaID = Area.AreaID) INNER JOIN Data ON Client.UserAccount = Data.AccountID" _
+ " WHERE Data.AccountID='" + STRZH + " 'And data.syear='" + TXTyear.Text + "' and data.smonth='" + TXTyue.Text + "'" _
+ " Order By Data.AccountID,Data.SBInfoID,data.syear,data.smonth"

三个表Client,Area,Data
要求满足下边两个条件:
Client.AreaID = Area.AreaID
Client.UserAccount = Data.AccountID

其实现在的sql语句中已经很少用到INNER JOIN ON了,可以把Sql改成下面这样,很直观
select 字段
from Client ,Area, Data
where Client.AreaID = Area.AreaID
and Client.UserAccount = Data.AccountID
and Data.AccountID='" + STRZH + " '"
And data.syear='" + TXTyear.Text + "'
and data.smonth='" + TXTyue.Text + "'"
Order By Data.AccountID, Data.SBInfoID, data.syear, data.smonth
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-05-31
不能同时出现join 和where,可改为
ADOdb.RecordSource = "SELECT Distinct Area.AreaName,Data.AccountID, Data.SBInfoID,Data.sYear, Data.sMonth,Data.UnitPrice,Data.SSUNFL,Client.UserName,Data.ID,Data.Typename,Client.userJFtype" _
+ " FROM Client,Area,Data " _
+ " WHERE Data.AccountID='" + STRZH + "' And data.syear='" + TXTyear.Text + "' and data.smonth='" + TXTyue.Text + "'" _
+ " and Client.AreaID = Area.AreaID and Client.UserAccount = Data.AccountID Order By Data.AccountID,Data.SBInfoID,data.syear,data.smonth"
或者
ADOdb.RecordSource = "SELECT Distinct Area.AreaName,Data.AccountID, Data.SBInfoID,Data.sYear, Data.sMonth,Data.UnitPrice,Data.SSUNFL,Client.UserName,Data.ID,Data.Typename,Client.userJFtype" _
+ " FROM (Client INNER JOIN Area ON Client.AreaID = Area.AreaID and Data.AccountID='" + STRZH + "' And data.syear='" + TXTyear.Text + "' and data.smonth='" + TXTyue.Text + "') INNER JOIN Data ON Client.UserAccount = Data.AccountID" _
+ " Order By Data.AccountID,Data.SBInfoID,data.syear,data.smonth"追问

运行正确
不明白表与表是如何连得

追答

也就是说
select * from a inner join b on a.id=b.id --其中inner可以去掉
等价于
select * from a,b where a.id=b.id

还不明白的,查一下关于sql表连接的资料

第2个回答  2012-06-02

vb中的sql语句,可以详细说一下表与表之间如何连接的,亲们谢谢了
三个表Client,Area,Data 要求满足下边两个条件:Client.AreaID = Area.AreaID Client.UserAccount = Data.AccountID 其实现在的sql语句中已经很少用到INNER JOIN ON了,可以把Sql改成下面这样,很直观 select 字段 from Client ,Area, Data where Client.AreaID = Area.AreaID and Client.UserAccou...

vb怎么连接sql?
1、打开代码窗口,添加引用:Imports System.Data.SqlClient。2、输入以下代码:“Public conn1 As SqlConnection = New SqlConnection _("server=192.168.1.79; Initial Catalog= student; User ID= panqe;PWD=shentai768@")”,vb就已经成功连接sql数据库了。3、代码详解:声明关键字Public(因...

VB怎么连接 SQL 数据库?
1、打开代码窗口,添加引用:Imports System.Data.SqlClient。2、输入以下代码:“Public conn1 As SqlConnection = New SqlConnection _("server=192.168.1.79; Initial Catalog= student; User ID= panqe;PWD=shentai768@")”,vb就已经成功连接sql数据库了。3、代码详解:声明关键字Public(因...

vb的sql数据库连接
1、打开代码窗口,添加引用:Imports System.Data.SqlClient。2、输入以下代码:“Public conn1 As SqlConnection = New SqlConnection _("server=192.168.1.79; Initial Catalog= student; User ID= panqe;PWD=shentai768@")”,vb就已经成功连接sql数据库了。3、代码详解:声明关键字Public(因...

VB如何链接数据库SQL
1、打开代码窗口,添加引用:Imports System.Data.SqlClient。2、输入以下代码:“Public conn1 As SqlConnection = New SqlConnection _("server=192.168.1.79; Initial Catalog= student; User ID= panqe;PWD=shentai768@")”,vb就已经成功连接sql数据库了。3、代码详解:声明关键字Public(...

怎样在vb中写sql语句?
在VB中编写SQL语句时,首先定义一个字符串变量用于存储语句。将SQL查询语句赋给该变量。若需将VB控件中的数据纳入查询条件,使用字符串连接方法即可。注意,某些符号如单引号`'`在SQL语句中至关重要,确保正确使用。例如:定义字符串变量:Dim strsql As String 将查询语句赋给变量:strsql = "select ...

请问vb6.0怎么SQL连接并对数据库中的数据进行操作
set rs=openrecordset(<可以是数据库的表--如"student",也可以是查询语句--如"select* form student">)这时数据库的内容都存在FILE集合里 比方说set rs=openrecordset("select* form student")rs.file(0)就是SQL语句查询结果的第一列 rs.files就是整个结果 使用text1.text=rs.file(0)就可以把...

vb中用sql语句查询数据库
FROM sco WHERE sno='"& text1.text & "'"因为现在不弄VB6了,所以具体怎么连接的代码我忘了,大概就是如果得到的结果RecordSet是空的,即Bof And Eof,则用户名错误,否则如果规定了用户名不可重复,就有且仅有1条记录,再比较其中的sco与Text2.Text是否相等,是则正确通过,否则密码错误。

VB 更新数据库的SQL语句
更新数据库的SQL语句通过Update。语法:UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值 示例:'更新Person表的地址(address)和城市名称(city),条件是LastName 等于WilsonUPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing'WHERE LastName = 'Wilson'...

在vs2008环境中用vb怎么在编程中连接数据库SQL?要详细点,具体代码!
ConnectionString = "Data Source=服务器名称或IP地址;Initial Catalog=数据库名称;Persist Security Info=True;User ID=账号;Password=密码"sqlcom.Connection = conn sqlcom.CommandType = Data.CommandType.Text sqlcom.CommandText = "SQL查询语句"Dim da As New SqlDataAdapter(sqlcom)da.Fill(dset)

相似回答