Тема: Вивчання MySQL

Ось у мене дві цих команди потрібно обєднати в одну що б получилось (Список авто без водіїв і одночасно список водіїв без авто)
select t1.name, t2.marka from friends t1 left join avto t2 on t1.id_avto=t2.id where t1.id_avto=0;
+--------+-------+
| name   | marka |
+--------+-------+
| Viktor | NULL  |
| Luba   | NULL  |
+--------+-------+


SELECT * FROM (SELECT t1.marka, t2.name AS name FROM avto t1 LEFT JOIN friends t2 on t1.id=t2.id_avto)res WHERE res.name is NULL;
+---------------+------+
| marka         | name |
+---------------+------+
| Lada_Kalina   | NULL |
| Toyota_Tundra | NULL |
| Opel          | NULL |
| Jaguar        | NULL |
| Jeep          | NULL |
| Bentley       | NULL |
+---------------+------+
6 rows in set (0.00 sec)

коли використовую команду для обєднання цих обох запитів
(select t1.name, t2.marka from friends t1 LEFT join avto t2 on t1.id_avto=t2.id where t1.id_avto=0) UNION (SELECT * FROM (SELECT t2.marka, t1.name AS name FROM avto t2 LEFT JOIN friends t1 on t2.id=t1.id_avto)res WHERE res.name is NULL);
+---------------+-------+
| name          | marka |
+---------------+-------+
| Viktor        | NULL  |
| Luba          | NULL  |
| Lada_Kalina   | NULL  |
| Toyota_Tundra | NULL  |
| Opel          | NULL  |
| Jaguar        | NULL  |
| Jeep          | NULL  |
| Bentley       | NULL  |
+---------------+-------+
8 rows in set (0.00 sec)




По суті мені потрібно щоб марки автомобілів були в стовпці (mаrka) і навпроти в стовпці (name) було NULL. Як мені це зробити? У кого які ідеї?

2

Re: Вивчання MySQL

Ну дик, потрібно, щоб другий запит вертав навпаки - марку, а тоді імя:

name | marka
NULL | Lada_kalina

і т.д.

Тоді, теоретично, юніон все зробить як треба.
Поміняйте порядок полів, чи показати як? ))

Подякували: yaroslav1boyko1

3

Re: Вивчання MySQL

Все дякую! Питання вичерпане)