quelque chose comme ça? FIDDLE pour référence
SELECT project_id,project_name,parent_id,recycle_bin,creater_id
FROM projectdetails AS pd1
JOIN(
SELECT parent_id FROM projectdetails as pd
WHERE pd.parent_id > 0 AND pd.recycle_bin > 1
) AS t ON t.parent_id = pd1.project_id
avec de nouvelles données.. NEW_FIDDLE
SELECT
if(pd1.recycle_bin >1, pd1.project_id, t.project_id) AS project_id,
if(pd1.recycle_bin >1, pd1.project_name, t.project_name) AS project_name,
if(pd1.recycle_bin >1, pd1.parent_id, t.parent_id) AS parent_id,
if(pd1.recycle_bin >1, pd1.recycle_bin, t.recycle_bin) AS recycle_bin,
if(pd1.recycle_bin >1, pd1.creater_id, t.creater_id) AS creater_id
FROM projectdetails AS pd1
JOIN(
SELECT * FROM projectdetails AS pd
WHERE pd.parent_id > 0
AND pd.recycle_bin > 1
) AS t ON t.parent_id = pd1.project_id
GROUP BY project_id
sans utiliser LAST_FIDDLE de IF
SELECT
pd1.project_id,
pd1.project_name,
pd1.parent_id,
pd1.recycle_bin,
pd1.creater_id
FROM projectdetails AS pd1
WHERE NOT EXISTS(
SELECT pd.recycle_bin FROM projectdetails as pd
WHERE pd1.parent_id = pd.project_id
AND pd.recycle_bin > 1
) AND pd1.creater_id = 7923 and pd1.recycle_bin > 1
GROUP BY pd1.project_id;