基本的に2つの複雑なテーブルの結合からの選択である多かれ少なかれ複雑なMySQL選択クエリがあります。
SELECT *
FROM
( SELECT ProblemID
, 10*POWER(COUNT(ProblemID), 2) AS TagsSignifikanz
FROM
( SELECT ProblemID
FROM Problemtag
WHERE Tagtext = "Francois"
UNION
ALL
SELECT ProblemID
FROM Problemtag
WHERE Tagtext = "Hollande"
) AS TagsSignifikanzTable
GROUP
BY ProblemID
)
JOIN
( SELECT ProblemID
, SUM(Einzelsignifikanz) AS Titelsignifikanz
FROM
( SELECT ProblemID
, 1 AS Einzelsignifikanz
FROM Problem
WHERE Titel LIKE "%Francois%"
UNION
ALL
SELECT ProblemID
, 1 AS Einzelsignifikanz
FROM Problem
WHERE Titel
LIKE "%Hollande%"
UNION
ALL
SELECT ProblemID
, 4 AS Einzelsignifikanz
FROM Problem
WHERE Titel LIKE "%Francois Hollande%"
) AS TitelSignifikanzTable
GROUP
BY ProblemID
) AS TagsUndTitelSignifikanzTable
ON TagsSignifikanzQuery.ProblemID = TitelsignifikanzQuery.ProblemID;
しばらく試してみましたが、派生テーブルの名前を挿入する場所がわかりません。誰が私を助けることができますか? 前もって感謝します!
編集 - BK435 と Drew の助けを借りた解決策: (7 行目と最後の 2 行を参照)
SELECT * FROM (
SELECT ProblemID, 10*POWER(COUNT(ProblemID), 2) AS TagsSignifikanz FROM (
SELECT ProblemID FROM Problemtag WHERE Tagtext = "Francois"
UNION ALL
SELECT ProblemID FROM Problemtag WHERE Tagtext = "Hollande"
) AS TagsSignifikanzTable GROUP BY ProblemID
) As Alias1
JOIN (
SELECT ProblemID, SUM(Einzelsignifikanz) AS Titelsignifikanz FROM (
SELECT ProblemID, 1 AS Einzelsignifikanz FROM Problem WHERE Titel LIKE "%Francois%"
UNION ALL
SELECT ProblemID, 1 AS Einzelsignifikanz FROM Problem WHERE Titel LIKE "%Hollande%"
UNION ALL
SELECT ProblemID, 4 AS Einzelsignifikanz FROM Problem WHERE Titel LIKE "%Francois Hollande%"
) AS TitelSignifikanzTable GROUP BY ProblemID
) AS Alias2
ON Alias1.ProblemID = Alias2.ProblemID;