1

日付でソートされた 2 つのアクティビティのユーザー数を表す 2 つのテーブルがあります。

表 A: 活動中の日付とユーザー数 1
表 B: 活動中のデータとユーザー数 2

質問: MYSQL でそれらを結合するにはどうすればよいですか (特に、データ操作に PHPMYADMIN を使用しています)。このコードで私が抱えている問題は、いくつかのエントリが欠落していることです (1 つの列に特定の日に関する情報がない場合)。

SELECT a1.day, a1.count, b1.count
FROM table_A a1 
JOIN table_B b1 on a1.day = b1.day
ORDER BY a1.day  
4

4 に答える 4

0
SELECT *
FROM table_A

UNION ALL

SELECT *
FROM table_B

あなたが望むことをしますが、これが通常のことである場合は、単純に 2 つのテーブルを 1 つに結合する方がよいでしょう。

于 2012-08-04T00:56:36.173 に答える
0

あなたが探しているのは、FULL OUTER JOIN次のように MySQL でシミュレートできる 2 つのテーブルの 1 つだと思います。

SELECT   *
FROM     (
         SELECT     a.day, a.count, b.count
         FROM       table_A a
         LEFT JOIN  table_B b ON a.day = b.day

         UNION ALL

         SELECT     a.day, a.count, b.count
         FROM       table_A a
         RIGHT JOIN table_B b ON a.day = b.day
         WHERE      a.day IS NULL
         ) a
ORDER BY a.day
于 2012-08-04T01:22:50.950 に答える
0
SELECT 
    u.day, SUM(count_A) AS count_A, SUM(count_B) AS count_B
FROM
(SELECT day, count AS count_A, 0 AS count_B
FROM table_A
UNION ALL
SELECT day, 0, count 
FROM table_B) AS u
GROUP BY u.day
ORDER BY u.day
于 2012-08-04T01:19:03.323 に答える