Хорошо выглядит:
mysql> select * from t_act;
+--------+------+
| ID_ACT | ACT |
+--------+------+
| 1 | ACT1 |
| 2 | ACT2 |
| 3 | ACT3 |
| 4 | ACT4 |
| 5 | ACT5 |
+--------+------+
5 rows in set (0.00 sec)
mysql> select * from t_work;
+----+---------+--------+------+
| NO | ID_WORK | ID_ACT | ACT |
+----+---------+--------+------+
| 1 | A | 1 | ACT1 |
| 2 | A | 3 | ACT3 |
+----+---------+--------+------+
2 rows in set (0.00 sec)
ВЫХОД:
mysql> select a.NO,a.ID_WORK, b.ID_ACT, a.ACT from t_act as b left
join t_work as a using (ID_ACT) order by ID_ACT;
+------+---------+--------+------+
| NO | ID_WORK | ID_ACT | ACT |
+------+---------+--------+------+
| 1 | A | 1 | ACT1 |
| NULL | NULL | 2 | NULL |
| 2 | A | 3 | ACT3 |
| NULL | NULL | 4 | NULL |
| NULL | NULL | 5 | NULL |
+------+---------+--------+------+
5 rows in set (0.02 sec)
Но я не уверен насчет столбца NO и ID_WORK в желаемом выводе.
ID_ACT 2 отсутствует в таблице t_work.Таким образом, у вас будет NULL в столбцах NO / ID_WORK в желаемом выводе.Вы уверены, что у вас будут ЗНАЧЕНИЯ на этих столбцах ??