以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]关于SQL判断  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=45313)

--  作者:jiskin
--  发布时间:2014/1/21 19:51:00
--  [求助]关于SQL判断

我想咨询下各位大湿~

我想直接写在窗口表的SQL命令里面

判断 列A > "" then (子查询X)的值 列B >"" then (子查询Y)的值  from {表}

不知道这样表达 能理解不

 


--  作者:有点甜
--  发布时间:2014/1/21 20:08:00
--  
 生成对应的sql语句,然后执行


--  作者:jiskin
--  发布时间:2014/1/21 20:18:00
--  
以下是引用有点甜在2014-1-21 20:08:00的发言:
 生成对应的sql语句,然后执行

 

我是要把整个SQL 语句设计好直接写在窗口SQLTABLE的select 语句中的

比如

Select ValveParts,sum(EachNumber) As Quantity,(Select StockQty from {Material_List} where MaterialSpecification = {Production_Details}.ValveParts) As StockQty from {表}

以子查询的形式直接写成SQL 语句, 但是遇到一个需要判断的 不知道如何写了


--  作者:有点甜
--  发布时间:2014/1/21 20:37:00
--  
 理解不了你的意思,如果是access数据库或者是内部表的话,这样写。

select iif(第一列 > (select top 1 第一列 from {表B}), 第一列, 第二列) as 我的列 from {表A}

--  作者:jiskin
--  发布时间:2014/1/22 9:42:00
--  
查了下资料 我的是sql 2008 不能用 iif …… 不知道还有没有其他方法 判断列的值 然后分别执行不同sql
--  作者:Bin
--  发布时间:2014/1/22 9:45:00
--  
换成 case when http://www.foxtable.com/help/topics/1827.htm
--  作者:jiskin
--  发布时间:2014/1/22 10:19:00
--  
以下是引用Bin在2014-1-22 9:45:00的发言:
换成 case when http://www.foxtable.com/help/topics/1827.htm

 

貌似要有实际的列存在才行,不然 最后 as dat 这个列会提示 字符不能转换成日期什么的 蛋疼

[此贴子已经被作者于2014-1-22 10:21:02编辑过]

--  作者:Bin
--  发布时间:2014/1/22 10:26:00
--  
不会,你试试吧.
--  作者:jiskin
--  发布时间:2014/1/22 10:43:00
--  
以下是引用Bin在2014-1-22 10:26:00的发言:
不会,你试试吧.

 

搞定了 oh yeah