SQL语句,用于同一列中的多种类型的代码

时间:2013-08-26 16:10:22

标签: sql

我有一个基本查询,我从一个表中选择并加入另一个表。在第二个表格中,我在列上使用过滤器来排除我不想要的记录。

第一个表是基本的,如名称,ID,地址等。它不包含重复项。第二个表(产品表)更像是这样:

    ID      Code    DESC            Desc2
    -----------------------------------------
    94      PG      County Code     SYDNEY, NE
    95      PG      County Code     MONTICELLO, UT  
    96      PG      County Code     VERNAL, UT  
    97      PG      County Code     OTHER, OUT OF STATE
            PG      County Code     NO DATA 
    1       PS      Race Code       SPANISH AMERICAN    
    2       PS      Race Code       OTHER - WHITE   
    3       PS      Race Code       BLACK   
    4       PS      Race Code       AMERICAN INDIAN 

我的选择看起来像这样:

Select A.*, B.DESC 
from CustTable A 
INNER JOIN Prod_Table B 
  ON A.ID = B.ID 
WHERE B.Code = 'PG'

我还需要从Prod_Table获取Code ='PS'的记录。

有没有办法在一个查询中执行此操作,还是需要使用“PS”记录创建另一个表并查询?

编辑:抱歉太混乱了,我试图简化一些事情,但这让事情变得更糟。我刚用表格中的实际数据编辑了帖子,也许这会有所帮助。

2 个答案:

答案 0 :(得分:0)

Select A.*, B.DESC 
from CustTable A 
INNER JOIN Prod_Table B 
ON A.ID = B.ID 
WHERE B.Code = 'PG' OR B.Code = 'PS'

OR

Select A.*, B.DESC 
from CustTable A 
INNER JOIN Prod_Table B 
ON A.ID = B.ID 
WHERE B.Code IN('PG','PS')

答案 1 :(得分:0)

试试这个:

Select A.*, B.DESC 
from CustTable A 
INNER JOIN Prod_Table B 
  ON A.ID = B.ID 
WHERE B.Code = 'PG' or B.code = 'PS'