Я был на этом большую часть дня и, пытаясь «добраться куда-то» сегодня, я начал разбивать запросы на куски, чтобы я мог соединить их, так сказать.У меня есть 1-й запрос, чтобы работать так, как мне нужно (используя объединение и подзапрос) Мне просто нужно разобраться, как сделать аналогичную вещь, чтобы включить результат 2-го запроса в столбец в запросе 1
Запрос 1:
SELECT
u.user_id,
u.firstname,
u.surname,
d.vehicleID,
vehicle.REG
FROM
users AS u
LEFT JOIN vehicle_drivers AS d ON u.user_id = d.driverID AND d.`timestamp` = (SELECT MAX(d2.`timestamp`)
FROM vehicle_drivers d2
WHERE d2.driverID = u.user_id
)
LEFT JOIN vehicle ON d.vehicleID = vehicle.ID
WHERE
u.hide <> 1
AND remote_logon = 1
Затем мне нужен результат из запроса 2:
SELECT
a.referance AS storeID,
FROM
qrTag_linktable a
INNER JOIN qrTag_linktable AS b ON b.tagID = a.tagID WHERE a.module = 1 and b.referance = ****d.vehicleID****
Вот таблица qrTag_linktable
+----+-------+--------+-----------+
| ID | tagID | module | referance |
+----+-------+--------+-----------+
| 3 | 1 | 1 | 1 |
| 8 | 1 | 2 | 67 |
| 9 | 11 | 1 | 4 |
| 10 | 11 | 2 | 77 |
+----+-------+--------+-----------+
Результат (storeID)из Query2 должен находиться в столбце в Query 1 Query 2 необходимо значение из d.vehicleID для работы.Я знаю, что не могу быть так далеко, и я играю с подзапросами, однако, я просто могу, кажется, собрать это вместе!Я должен также упомянуть, что запрос может возвращать НЕДЕЙСТВИТЕЛЬНЫЙ результат, это нормально, поэтому должно быть ЛЕВОЕ Соединение (?)
РЕДАКТИРОВАТЬ 2: Вот пример, если требуемые результаты:
+---------+-----------+---------+-----------+---------+----------+
| user_id | firstname | surname | vehicleID | storeID | REG |
+---------+-----------+---------+-----------+---------+----------+
| 2 | Steve | Jobs | 67 | 1 | VN64 *** |
| 653 | James | Smith | 77 | 4 | *** EUF |
| 592 | Harry | Potter | 72 | | YM64 *** |
+---------+-----------+---------+-----------+---------+----------+
РЕДАКТИРОВАТЬ: Это моя работа до сих пор: S
SELECT
u.user_id,
u.firstname,
u.surname,
d.vehicleID,
s.storeID,
vehicle.REG
FROM
users AS u
LEFT JOIN vehicle_drivers AS d ON u.user_id = d.driverID
AND d.`timestamp` = (
SELECT
MAX(d2.`timestamp`)
FROM
vehicle_drivers d2
WHERE
d2.driverID = u.user_id
)
LEFT JOIN vehicle ON d.vehicleID = vehicle.ID
LEFT JOIN (
SELECT
a.referance AS storeID,
b.referance AS vehicleID
FROM
qrTag_linktable a
INNER JOIN qrTag_linktable AS b ON b.tagID = a.tagID
WHERE
a.module = 1
AND b.referance = d.vehicleID
) AS s ON s.vehicleID = d.vehicleID
WHERE
u.hide <> 1
AND remote_logon = 1
[Err] 1054 - Unknown column 'd.vehicleID' in 'where clause'