2014-04-14 121 views
0

我想基于一列的内容检索数据。访问SQL条件查询

样品台

Description EID  Basecode   
    ----------- ----  ---------  
    ssdad   1001  S2378797  
    gfd   1002  S1164478  
    gfdsffsdf  1003  R1165778  
    ssdad   1004  M0007867  
    gfd   1005  N7765111  
    gfdsffsdf  1006  W5464111  
    gfd   1005  N7765111  
    gfdsffsdf  1006  A4000011 
    gfdsffsdf  1006  W5464111  
    ssdad   1001  2378797  
    gfd   1002  1164478 
    ssdad   1001  965000 
    gfd   1002  780000 
    yjgk   4456  540000 
    kjhkh   2009  150000 
    ddd   1004  1040 
    d88jg   1004  14C676 
    fsa   6565  158 
    fdh   1004  2Khlm 
    ggdg   2009  967 

如果列数据,用字母开头,则我想从QR1的结果;如果它包含数字开头,,和长度> 6然后我得到qry2结果。

如何检索除qry1,qry2排序以外的数据?

如何在MS-Access中有条件地执行此操作?

回答

0

你将不得不这样做,看起来像这主要IIF语句...

ColValue: IIf((Len([col1])>6 And (Left([col1],2)="12" Or Left([col1],2)="13")),1,0) 

ColValue: IIf(Left([col1],1) In ("a","b","c"),1,0) 

(注:加一路到z)

当然,如果他们符合条件,这是一个1否则为0.

0

如果它不满足这两个条件中的任何一个,该怎么办?我将返回NULL,但您将其更改为您想要的值:

SELECT IIF((LEN([col1])>6 AND (LEFT([col1], 2) = "12" OR LEFT([col1], 2)="13")), qry2, 
     IIF(ASC(UCASE(LEFT([col1], 1))) BETWEEN 65 AND 90, qry1, NULL)) 
FROM myTable