2013-05-18 72 views
0

我写了下面的SQL语句,在测试表,我有4个记录,并对coa_body表我也有四个记录,这个查询:MySQL来返回独特的记录

SELECT `name`, `compedia`, `specification` 
    FROM (`tests` t, `coa_body` cb) 
    JOIN 
     `request_details` rd 
    ON `t`.`id` = `rd`.`test_id` 
WHERE `rd`.`request_id` = 'NDQA201303001' AND cb.labref = 'NDQA201303001'; 

回报:

1.name compedia说明书

Assay      Alphy  poxy 
pH(Acidity/Alkalinity) Alphy  poxy 
Sterility     Alphy  poxy 
Bacterial Endotoxin Test Alphy  poxy 
Assay      poxy  alphy 
pH(Acidity/Alkalinity) poxy  alphy 
Sterility     poxy  alphy 
Bacterial Endotoxin Test poxy  alphy 
Assay      alphy1 poxy1 
pH(Acidity/Alkalinity) alphy1 poxy1 
Sterility     alphy1 poxy1 
Bacterial Endotoxin Test alphy1 poxy1 
Assay      poxy1  alphy1 
pH(Acidity/Alkalinity) poxy1  alphy1 
Sterility     poxy1  alphy1 
Bacterial Endotoxin Test poxy1  alphy1 

2.coa_body表如下: ID labref compedia规范

1 NDQA201303001 Alphy poxy 
2 NDQA201303001 poxy alphy 
3 NDQA201303001 alphy1 poxy1 
4 NDQA201303001 poxy1 alphy1 

3.我只需要4条一模一样这样

name      compedia specification 

    Assay      Alphy poxy 
    pH(Acidity/Alkalinity) poxy alphy 
    Sterility     alphy1 poxy1 
    Bacterial Endotoxin Test poxy1 alphy1 

4.at查询结束的coa_body表,如果我添加GROUP BY t.name语句,它返回

name     compedia specification  

Assay      Alphy poxy 
Bacterial Endotoxin Test Alphy poxy 
pH(Acidity/Alkalinity)  Alphy poxy 
Sterility     Alphy poxy 

这是不是想让我想要的,我想要的结果是一个在3号

+2

请不要使用不适用于您的问题的标签 –

+0

好的,下次再记住这一点 – alphy

回答

-1

重写查询

SELECT `name`, `compedia`, `specification` 
    FROM (`tests` t, `coa_body` cb) 
    JOIN 
     `request_details` rd 
    ON `t`.`id` = `rd`.`test_id` 
WHERE `rd`.`request_id` = 'NDQA201303001' AND cb.labref = 'NDQA201303001' GROUP BY name;