我试图根据一列的内容检索数据。
样本表
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的结果;如果它包含的数字以 96 , 78 , 54 ,长度> 6开头,那么我会得到qry2结果。
如何检索qry1,qry2中排序以外的数据?
如何在MS-Access中有条件地执行此操作?
答案 0 :(得分: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。
答案 1 :(得分: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