2013-01-19 106 views
0

對不起,如果標題有點奇怪...但基本上我想要做的是...我會先做一個例子然後我會張貼代碼我有獲取兩列總計的行數並將這些行分組

表A具有這些列

  • d-ID(INT)
  • 內容(文本)

表B有這些列

  • d-ID(INT)
  • dif_content(文本)

,並有一個表C具有列d-id

現在我正在努力,而基於該d-id

表C將它們分組,從contentdif_contentSUM這兩列得到行數有main_content,我想的contentdif_content數像所以:

  • 的行(1)
  • 另一行(5)
  • 另一行再次(3)

數目行是contentdif_content我有該行有多少行。

這是我現在所擁有的

$query = $this->db->query(
      'SELECT TableA.d-id , TableB.d-id , count(TableA.content) as num_content , count(TableB.dif_content) AS num_dif_content 
      FROM TableA , TableB 
      WHERE TableA.d-id = TableB.d-id 
      SUM(num_content + num_dif_content) as content_total' 

,只是爲更多的細節,我用笨,所以如果你有辦法做到這一點使用活動記錄,那將是很好的代碼。

這是我所做過的最複雜的查詢。 (幾年來,我一直在編程)

我很抱歉,如果你不明白我想要做什麼,只是評論,如果你需要知道更多,我會愉快地編輯帖子。

回答

0

哼,也許我不清楚你的問題。如果我是對的,這可能是你所需要的查詢:

SELECT 
    *, count_t1 + count_t2 as count_all 
FROM 
    (SELECT d_id, COUNT(content) as count_t1 FROM TableA GROUP BY d_id) t1 
    LEFT JOIN 
    (SELECT d_id, COUNT(dif_content) as count_t2 FROM TableB GROUP BY d_id) t2 
    ON t1.d_id = t2.d_id; 

您可以預覽使用此sqlfiddle link

+0

你是男人!非常感謝! –

相關問題