Hello ,
When I want to run my query in MySQL Query Browser , I receive this alert :
Every derived table must have its own alias .
But I don`t know what changes should I take to correct it ?
This is my query :
SELECT ft.projectName
,ft.leafCode
,ft.leafName
,ft.colorsCode
,ft.polish
,ft.pack
,ft.warehouse
,ft.sent
,ft.orderQuota
,COALESCE(((ft.polish + ft.pack + ft.warehouse) - (ft.orderQuota)), 0) AS `available`
,ft.orderAmount
,COALESCE((ft.orderAmount) - (ft.polish + ft.pack + ft.warehouse + ft.sent - (ft.orderQuota)), 0) AS `projectRemained`
,COALESCE((((ft.polish + ft.pack + ft.warehouse + ft.sent) - (ft.orderQuota)) / (ft.orderAmount)), 0) AS `projectProgress`
FROM (
SELECT projects.projectName
,rs_leaves.leafCode
,rs_leaves.leafName
,rs_colors.colorsCode
,NULL AS `polish`
,NULL AS `pack`
,NULL AS `warehouse`
,SUM(assign_details.assAmount) AS `sent`
,projects_details.orderQuota
,projects_details.orderAmount
FROM projects_details
INNER JOIN rs_leaves
ON rs_leaves.leafID = projects_details.leafName
INNER JOIN rs_colors
ON rs_colors.colorsID = projects_details.leafColor
INNER JOIN assign_details
ON assign_details.projectID = projects_details.projectID
INNER JOIN projects
ON projects.projectID = projects_details.projectID
Group By rs_leaves.leafCode, rs_leaves.leafName, rs_colors.colorsCode
UNION ALL
SELECT NULL AS `projectNmae`
,NULL AS `leafCode`
,NULL AS `leafName`
,NULL AS `colorsCode`
,COALESCE(Sum(patine_tbl.receivedNum), 0) - COALESCE(Sum(Case
When sent_receive_tbl.stationID = '6' Then sent_receive_tbl.sentNum
Else Null End), 0) As `ploish`
,NULL AS `pack`
,NULL AS `warehouse`
,NULL AS `sent`
,NULL AS `orderQuota`
,NULL AS `orderAmount`
FROM patine_tbl
INNER JOIN rs_leaves
ON rs_leaves.leafID = patine_tbl.leafID
INNER JOIN rs_colors
ON rs_colors.colorsID = patine_tbl.colorsID
LEFT JOIN sent_receive_tbl
ON sent_receive_tbl.leafID = rs_leaves.leafID
AND sent_receive_tbl.colorsID = rs_colors.colorsID
Group By rs_leaves.leafCode,
rs_leaves.leafName,
rs_colors.colorsCode
UNION ALL
SELECT NULL AS `projectNmae`
,NULL AS `leafCode`
,NULL AS `leafName`
,NULL AS `colorsCode`
,NULL AS `polish`
,COALESCE((Sum(sent_receive_tbl.receivedNum) - Sum(sent_receive_tbl.sentNum)), 0) As `pack`
,NULL AS `warehouse`
,NULL AS `sent`
,NULL AS `orderQuota`
,NULL AS `orderAmount`
FROM sent_receive_tbl
Where rs_stations.stationID = '7'
Group By rs_leaves.leafCode, rs_leaves.leafName, rs_colors.colorsCode
UNION ALL
SELECT NULL AS `projectNmae`
,NULL AS `leafCode`
,NULL AS `leafName`
,NULL AS `colorsCode`
,NULL AS `polish`
,NULL AS `pack`
,tt.warehouse
,NULL AS `sent`
,NULL AS `orderQuota`
,NULL AS `orderAmount`
FROM (SELECT NULL AS `projectNmae`
,NULL AS `leafCode`
,NULL AS `leafName`
,NULL AS `colorsCode`
,NULL AS `polish`
,NULL AS `pack`
,st.warehouse
,NULL AS `sent`
,NULL AS `orderQuota`
,NULL AS `orderAmount`
FROM (SELECT
st.leafCode,
st.colorsCode,
COALESCE(Sum(st.INPUT), 0) As INPUT,
COALESCE(Sum(st.OUTPUT), 0) As OUTPUT,
COALESCE(Sum(st.INPUT), 0) - COALESCE(Sum(st.OUTPUT), 0) As `warehouse`
From (Select rs_leaves.leafCode
,rs_colors.colorsCode
,Sum(receipt_details.recAmount) As INPUT
,Null As OUTPUT
From receipt_details
Inner Join rs_leaves
On rs_leaves.leafID = receipt_details.leafName
Inner Join rs_colors
On rs_colors.colorsID = receipt_details.leafColor
Group By rs_leaves.leafCode, rs_colors.colorsCode
UNION All
Select rs_leaves.leafCode
,rs_colors.colorsCode
,Null As INPUT
,Sum(assign_details.assAmount) As OUTPUT
From assign_details
Inner Join rs_leaves
On rs_leaves.leafID = assign_details.leafName
Inner Join rs_colors
On rs_colors.colorsID = assign_details.leafColor
Group By rs_leaves.leafCode, rs_colors.colorsCode) As st
Group By st.leafCode,st.colorsCode
) AS tt
Group By tt.leafCode,tt.colorsCode
)
) AS ft
Group By ft.projectName
,ft.leafCode
,ft.leafName
,ft.colorsCode
Also in above code I tried to embed one subquery into another subquey ; Did I do it correctly ? :
SELECT NULL AS `projectNmae`
,NULL AS `leafCode`
,NULL AS `leafName`
,NULL AS `colorsCode`
,NULL AS `polish`
,NULL AS `pack`
,tt.warehouse
,NULL AS `sent`
,NULL AS `orderQuota`
,NULL AS `orderAmount`
FROM (SELECT NULL AS `projectNmae`
,NULL AS `leafCode`
,NULL AS `leafName`
,NULL AS `colorsCode`
,NULL AS `polish`
,NULL AS `pack`
,st.warehouse
,NULL AS `sent`
,NULL AS `orderQuota`
,NULL AS `orderAmount`
FROM (SELECT
st.leafCode,
st.colorsCode,
COALESCE(Sum(st.INPUT), 0) As INPUT,
COALESCE(Sum(st.OUTPUT), 0) As OUTPUT,
COALESCE(Sum(st.INPUT), 0) - COALESCE(Sum(st.OUTPUT), 0) As `warehouse`
From (Select rs_leaves.leafCode
,rs_colors.colorsCode
,Sum(receipt_details.recAmount) As INPUT
,Null As OUTPUT
From receipt_details
Inner Join rs_leaves
On rs_leaves.leafID = receipt_details.leafName
Inner Join rs_colors
On rs_colors.colorsID = receipt_details.leafColor
Group By rs_leaves.leafCode, rs_colors.colorsCode
UNION All
Select rs_leaves.leafCode
,rs_colors.colorsCode
,Null As INPUT
,Sum(assign_details.assAmount) As OUTPUT
From assign_details
Inner Join rs_leaves
On rs_leaves.leafID = assign_details.leafName
Inner Join rs_colors
On rs_colors.colorsID = assign_details.leafColor
Group By rs_leaves.leafCode, rs_colors.colorsCode) As st
Group By st.leafCode,st.colorsCode
) AS tt
Group By tt.leafCode,tt.colorsCode
)