Foxtable(狐表)用户栏目专家坐堂 → [求助]selelct 包含不同的表写法


  共有3643人关注过本帖树形打印复制链接

主题:[求助]selelct 包含不同的表写法

帅哥哟,离线,有人找我吗?
blsu33
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
[求助]selelct 包含不同的表写法  发帖心情 Post By:2020/2/11 20:56:00 [只看该作者]

老师,
   现在的sql,语言写法 有变化了是吗 例如
Select  Countryid,id,poutcaption,userid,authid,authoder,{zatoppnl}.poutcaption,imgbigt Fr om {zapoutcaption} Left JOIN {zatoppnl} ON {zatoppnl}.[authid] = {zapoutcaption}.[id]

原来 这里 不用加表名就可以生成,现在的语句必须加表名对吗?

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111401 积分:567075 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/11 20:59:00 [只看该作者]

一直都这样吧。如果2个表都有同样的列名,需要添加表名,不然不知道取哪个表的列的。

 回到顶部
帅哥哟,离线,有人找我吗?
blsu33
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2020/2/11 21:25:00 [只看该作者]

Dim dr As DataRow=dt.find("authid='"& titlename &"'  & "and (" & "userid='"& clientname99 &"' or userid like'"& clientname99 &",%'  or userid like'%,"& clientname99 &"' or userid like'%,"& clientname99 &",%')"  & ")"


老师 表达式 有点忘了 您看看 这个 怎么写


 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111401 积分:567075 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/11 21:45:00 [只看该作者]

参考:http://www.foxtable.com/webhelp/topics/1284.htm
如果搞不明白的,建议使用这种用法:http://www.foxtable.com/webhelp/topics/2919.htm

Dim dr As DataRow=dt.find("authid='" & titlename & "' and (userid= '" & clientname99 & "' Or userid like '" & clientname99 & ",%'or userid like '%," & clientname99 & "' Or userid like '%," & clientname99 & ",%')")

 回到顶部
帅哥哟,离线,有人找我吗?
blsu33
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2020/2/11 22:23:00 [只看该作者]

.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2020.1.19.19
错误所在事件:自定义函数za_nb_toppnlset
详细错误信息:
调用的目标发生了异常。
列“{zapoutcaption}.[poutcaption]”不属于表 。

 回到顶部
帅哥哟,离线,有人找我吗?
blsu33
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2020/2/11 22:24:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:微信图片_20200211221627.png
图片点击可在新窗口打开查看

明明 有 这个字段 为啥还不对呢
Dim str = dt.sqlFind(flt1, "len({zapoutcaption}.[poutcaption]) desc")("{zapoutcaption}.[poutcaption]") 

 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111401 积分:567075 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/11 22:27:00 [只看该作者]

Dim str = dt.sqlFind(flt1, "len({zapoutcaption}.[poutcaption]) desc")("zapoutcaption.poutcaption") 

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111401 积分:567075 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/11 22:46:00 [只看该作者]

完整代码发上来看看

 回到顶部
帅哥哟,离线,有人找我吗?
blsu33
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2020/2/11 22:52:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:语句.foxdb


 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111401 积分:567075 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/11 22:59:00 [只看该作者]

加上别名,不然同名列就是这样了

Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C">cmd.CommandText ="Select  {表A}.[第二列],{表B}.第二列  From {表A} Inner JOIN {表B} ON {表B}.[第一列] = {表A}.[第一列]"
dt = cmd.ExecuteReader
For Each dc As DataCol In dt.DataCols
    msgbox(dc.name)
Next

加上别名
cmd.CommandText ="Select  {表A}.[第二列] as a,{表B}.第二列 as b   From {表A} Inner JOIN {表B} ON {表B}.[第一列] = {表A}.[第一列]"
dt = cmd.ExecuteReader
Dim dr As DataRow
MessageBox.Show(0)
dr =dt.Find("a='测试'")
If dr IsNot Nothing Then
    MessageBox.Show(1)
    MessageBox.Show(dr("a"))
End If
[此贴子已经被作者于2020/2/11 23:00:00编辑过]

 回到顶部