1 つの大きなクエリに結合したい次の 2 つのクエリがあります。
SELECT COUNT(*) AS ac, SUM(Views) AS vc FROM tableA
と
SELECT COUNT(*) AS mc FROM tableB
そのトピックについて何も見つかりませんでした。それは可能ですか?
3つのサブクエリを使用して方法で行うことができます:
SELECT
(SELECT COUNT(*) FROM tableA) AS ac,
(SELECT SUM(Views) FROM tableA) AS vc,
(SELECT COUNT(*) FROM tableB) AS mc
これはあまり洗練されたソリューションではありませんが、必要なことは行う必要があります。
SELECT 'tableA' as tablename, COUNT(*) AS count, SUM(Views) AS sum FROM tableA
UNION
SELECT 'tableB' as tablename, COUNT(*) AS count, 0 AS sum FROM tableB
返す関数を作成しSELECT COUNT(*) AS mc FROM tableB
て、テーブル A で使用できます
CREATE FUNCTION Func1() RETURNS INTEGER
BEGIN
DECLARE Temp INTEGER;
SELECT COUNT(*) INTO Temp FROM tableB;
RETURN IFNULL(Temp, 0);
END;
SELECT COUNT(*) AS ac, SUM(Views) AS vc, Func1() as mc FROM tableA