Можно вот так
Код:
SELECT c.id, c.title, c.comment, CONCAT_WS(",",(SELECT sub_list FROM contract WHERE id = c.id), (SELECT GROUP_CONCAT(id) FROM contract WHERE scid = c.id))
FROM contract AS c
WHERE c.fc = 1
AND c.scid <= 0
Но тогда подставляется лишняя запятая впереди. Мешает

Вот например для трех договоров у первого из которых все субдоговора зависимые, у второго есть независимый субдоговор, а третий свободен
Код:
mysql> SELECT c.id, c.title, c.comment, CONCAT_WS(",",(SELECT sub_list FROM contract WHERE id = c.id), (SELECT GROUP_CONCAT(id) FROM contract WHERE scid = c.id))
-> FROM contract AS c
-> WHERE c.fc = 1
-> AND c.scid <= 0
-> AND c.title IN ('IPN000003', 'DP010746', 'PH000909');
+-------+-----------+----------------------------------+---------------------------------------------------------------------------------------------------------------------------+
| id | title | comment | CONCAT_WS(",",(SELECT sub_list FROM contract WHERE id = c.id), (SELECT GROUP_CONCAT(id) FROM contract WHERE scid = c.id)) |
+-------+-----------+----------------------------------+---------------------------------------------------------------------------------------------------------------------------+
| 8853 | DP010746 | ▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒ "▒▒▒▒▒▒▒ ▒▒▒▒▒" | 9023,9024,9025,12043,12131,12133,12134,15888,15897,18508,9023,9024,9025,12043,12131,12133,12134,15888,15897,18508 |
| 2325 | IPN000003 | ▒▒▒ "▒▒▒▒▒" | ,3848 |
| 94840 | PH000909 | ▒▒▒ "▒▒▒▒▒" | |
+-------+-----------+----------------------------------+---------------------------------------------------------------------------------------------------------------------------+
3 rows in set (0.00 sec)
Эта лишняя запятая
