基本的にすべての情報を取得して新しいテーブルにデータを入力するMySQLクエリがありますが、どうすればよいかわかりません:
- 新しいテーブルを作成しますが、既に存在する場合は、既存のテーブルを削除して再度作成します
- すべてのデータを新しいテーブルに配置します
誰かが私に手を貸してくれるか、正しい方向に向けてくれることを望んでいました。
これが役立つ場合に備えて、既存のSQLを次に示します(PHPファイル内に配置):
SELECT
*
FROM (
SELECT
'OverDue' AS ParentNode,
'Documents ' AS ChildNode,
COUNT(*) AS NoOfFails,
'2' AS GroupLevel,
'Red' AS ImageNamePrefix
FROM
documents
WHERE
datenextreview BETWEEN '$datefrom' AND '$dateto'
UNION ALL
SELECT
'Documents ' AS ParentNode,
InternalorExternal & ' ' AS ChildNode,
COUNT(*) AS NoOfFails,
'3' AS GroupLevel,
'Red' AS ImageNamePrefix
FROM
documents
WHERE
datenextreview BETWEEN '$datefrom' AND '$dateto'
GROUP BY InternalorExternal
UNION ALL
SELECT
'OverDue' AS ParentNode,
'Equipment ' AS ChildNode,
COUNT(*) AS NoOfFails,
'2' AS GroupLevel,
'Red' AS ImageNamePrefix
FROM
equipment
WHERE
datenextcalib BETWEEN '$datefrom' AND '$dateto'
UNION ALL
SELECT
'Equipment ' AS ParentNode,
EqpmtType & ' ' AS ChildNode,
COUNT(*) AS NoOfFails,
'3' AS GroupLevel,
'Red' AS ImageNamePrefix
FROM
equipment
WHERE
datenextcalib BETWEEN '$datefrom' AND '$dateto'
GROUP BY EqpmtType
UNION ALL
SELECT
'Due' AS ParentNode,
'Documents ' AS ChildNode,
COUNT(*) AS NoOfFails,
'2' AS GroupLevel,
'Yellow' AS ImageNamePrefix
FROM documents
WHERE
datenextreview BETWEEN '$datefrom' AND '$dateto'
UNION ALL
SELECT
'Documents ' AS ParentNode,
InternalorExternal & ' ' AS ChildNode,
COUNT(*) AS NoOfFails,
'3' AS GroupLevel,
'Yellow' AS ImageNamePrefix
FROM documents
WHERE
datenextreview BETWEEN '$datefrom' AND '$dateto'
GROUP BY InternalorExternal
UNION ALL
SELECT
'Due' AS ParentNode,
'Equipment ' AS ChildNode,
COUNT(*) AS NoOfFails,
'2' AS GroupLevel,
'Yellow' AS ImageNamePrefix
FROM equipment
WHERE
datenextcalib BETWEEN '$datefrom' AND '$dateto'
UNION ALL
SELECT
'Equipment ' AS ParentNode,
EqpmtType & ' ' AS ChildNode,
COUNT(*) AS NoOfFails,
'3' AS GroupLevel,
'Yellow' AS ImageNamePrefix
FROM equipment
WHERE
datenextcalib BETWEEN '$datefrom' AND '$dateto'
GROUP BY EqpmtType
UNION ALL
SELECT
'Coming Up' AS ParentNode,
'Documents ' AS ChildNode,
COUNT(*) AS NoOfFails,
'2' AS GroupLevel,
'Green' AS ImageNamePrefix
FROM documents
WHERE
datenextreview BETWEEN '$datefrom' AND '$dateto'
UNION ALL
SELECT
'Documents ' AS ParentNode,
InternalorExternal & ' ' AS ChildNode,
COUNT(*) AS NoOfFails,
'3' AS GroupLevel,
'Green' AS ImageNamePrefix
FROM documents
WHERE
datenextreview BETWEEN '$datefrom' AND '$dateto'
GROUP BY InternalorExternal
UNION ALL
SELECT
'Coming Up' AS ParentNode,
'Equipment ' AS ChildNode,
COUNT(*) AS NoOfFails,
'2' AS GroupLevel,
'Green' AS ImageNamePrefix
FROM equipment
WHERE
datenextcalib BETWEEN '$datefrom' AND '$dateto'
UNION ALL
SELECT
'Equipment ' AS ParentNode,
EqpmtType & ' ' AS ChildNode,
COUNT(*) AS NoOfFails,
'3' AS GroupLevel,
'Green' AS ImageNamePrefix
FROM equipment
WHERE
datenextcalib BETWEEN '$datefrom' AND '$dateto'
GROUP BY EqpmtType
) AS table2
ORDER BY
GroupLevel,
ChildNode DESC,
ParentNode DESC
私はフォーマットを使用してみました:
SELECT *
INTO new_table_name
FROM [query]
上記のクエリでは、表示されるだけですInvalid query: Undeclared variable: new_table_name