似たような名前でレコードをグループ化する必要がある状況がありますが_QA
、名前の最後にあります。
ここに完全な例があります。
という名前のテーブルが 1 つproject
ありname
ますvarchar(200)
。
そのテーブルへのエントリの例は次のとおりです。
id = 1
name = Project
id = 2
name= Project_QA
ご覧のとおり、同じ名前のエントリがあり、_QA
違いのみがあります。
今、そのテーブルをクエリして両方Project
をProject_QA
グループ化し、1 つの同じレコードとしてグループ化します。
私が試したことのために。申し訳ありませんが、何も見つからなかったので、ここで質問しています。
ストアプロシージャは必要ありません。
編集
今、私は受け取った回答に従ってクエリを実行していますが、最終的な問題が1つあります。
これで、作業時間を追跡するという名前のテーブルがありますworking
。このテーブルに参加して、合計作業時間の合計を取得するにはどうすればよいですか。
以下のクエリがあります。
SELECT
SUM(
ROUND(
TIME_TO_SEC(
TIMEDIFF(
vv.end_date,
vv.start_date
)
) / 3600
,2)) AS TotalHour,
( select name from project where id=vv.project_id ) AS ProjectName,
( select planned_hour from project where id=vv.project_id ) AS ProjectPlannedHour
FROM
working vv
WHERE
vv.project_id in(select id from project)
GROUP BY
vv.project_id,
IF(SUBSTR(ProjectName, -3)='_QA', LEFT(ProjectName, CHAR_LENGTH(ProjectName)-3), ProjectName)
ORDER BY
TotalHour DESC
LIMIT 0, 100