簡體   English   中英

SQL連接兩個SELECT語句 - 相當簡單

[英]SQL join two SELECT statements - fairly easy

我試圖將兩個查詢結果組合成一個看起來像這樣的輸出:

datetime |  BC  |  AC     
----------------------
sun      |  1.0 |  0.9

通過下面的MySQL調用(在MySQL中)。 我可以正確地查詢單個語句,但組合連接不起作用。 有什么建議么? 謝謝! 抱歉格式化。

SELECT z.datetime, (z.w_1 + z.w_2 + z.w_3) as 'BC', (b.w_1 + b.w_2 + b.w_3) as 'AC'  
 (FROM monitor_data a  
   WHERE mon_id = "site A"  
     AND datetime > "2015-04-02 04:30:00" 
     AND datetime < "2015-04-02 06:30:00") z

 JOIN (SELECT b.datetime, b.w_1, b.w_2, b.w_3      
   FROM monitor_data b 
     WHERE mon_id = "site B"  
       AND datetime> "2015-04-02 04:30:00" 
       AND datetime < "2015-04-02 06:30:00") y 
 ON y.datetime = z.datetime

你沒有完全正確的語法。 要連接兩個派生表(z和y),您需要確保每個派生表都具有語法上完整的SELECT語句。 另外,請記住,第二個派生表現在別名為“y”,而不是b

SELECT z.datetime, (z.w_1 + z.w_2 + z.w_3) as BC, 
       (y.w_1 + y.w_2 + y.w_3) as AC
FROM 
(
   SELECT a.datetime, a.w_1, a.w_2, a.w_3
   FROM monitor_data a 
   WHERE mon_id = 'site A' 
    AND datetime > '2015-04-02 04:30:00' AND datetime < '2015-04-02 06:30:00'
) z
JOIN 
(
  SELECT b.datetime, b.w_1, b.w_2, b.w_3
  FROM monitor_data b 
  WHERE mon_id = 'site B' 
    AND datetime > '2015-04-02 04:30:00' AND datetime < '2015-04-02 06:30:00'
) y
ON y.datetime = z.datetime;

嘗試這個..

SELECT z.datetime, (z.w_1 + z.w_2 + z.w_3) as 'BC', (y.w_1 + y.w_2 + y.w_3) as 'AC'
(select a.datetime, a.w_1,a.w_2,a.w_3,
 FROM   monitor_data a 
 WHERE  mon_id = "site A" 
    AND datetime > "2015-04-02 04:30:00" 
    AND datetime < "2015-04-02 06:30:00") z

JOIN (SELECT b.datetime, b.w_1, b.w_2, b.w_3
      FROM   monitor_data b 
      WHERE  mon_id = "site B" 
         AND datetime > "2015-04-02 04:30:00" 
         AND datetime < "2015-04-02 06:30:00") y

ON y.datetime = z.datetime

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM