2014-04-14 191 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