2013-08-27 45 views
1

我想弄清楚如何把两个和其他可能的选择查询放入一个查询的大查询,但有麻烦。最终结果应该是1行,包含具有两列的选定字段的计数。我为此使用子选择吗?MySQL多个查询设​​置

这里是前两个查询:

SELECT 
    COUNT(PIN.APP_UID) AS `Type A outstanding` 
FROM PMT_INSP_NORMAL PIN 
    WHERE 
    PIN.APP_STATUS = "To_Do" 
    AND 
    PIN.DATE_COMPLETED IS NULL 


SELECT 
    COUNT(PSN.APP_UID) AS `Type B outstanding` 
FROM PMT_SIGN_NORMAL PSN 
    WHERE 
    PSN.APP_STATUS = "To_Do" 
    AND 
    PSN.DATE_COMPLETED IS NULL 
+3

这两个表是以任何方式相关的吗? –

+0

之类的。两个表只共享1个共同性,这是一个wo_id字段,但它不被设置为任何表的约束。 – justWired

回答

1

试试这个:

Select 
    (SELECT COUNT(PIN.APP_UID) 
FROM PMT_INSP_NORMAL PIN 
WHERE PIN.APP_STATUS = "To_Do" 
AND PIN.DATE_COMPLETED IS NULL) as `Type A outstanding`, 


(SELECT COUNT(PSN.APP_UID) 
FROM PMT_SIGN_NORMAL PSN 
WHERE 
PSN.APP_STATUS = "To_Do" 
AND PSN.DATE_COMPLETED IS NULL) AS `Type B outstanding` 
+0

谢谢,这工作完美。嗯,我对这个子选择会看起来像什么的猜测有点远。 – justWired

0

是一个子查询可以做到这一点。它看起来像下面这样

SELECT (SELECT COUNT(PIN.APP_UID) 
     FROM PMT_INSP_NORMAL PIN 
     WHERE PIN.APP_STATUS = 'To_Do' AND PIN.DATE_COMPLETED IS NULL 
     ) AS 'Type A outstanding' 
    , 
    (SELECT COUNT(PSN.APP_UID) 
     FROM PMT_SIGN_NORMAL PSN 
     WHERE PSN.APP_STATUS = 'To_Do' AND PSN.DATE_COMPLETED IS NULL 
) AS 'Type B outstanding'