Im пытается совместить таблицы с LEFT JOIN и SUBSTR LOCATE. Одна из таблиц (ClientService) имеет столбец с именем description, а запись, которая мне нужна, находится между «» , например: Это тест «Пример». Мне нужен пример для сравнения с моей другой таблицей (HostingAccount)Mysql substr найти разделитель
Это вопрос, который у меня есть.
SELECT
CS.ClientServiceID,
S.ServiceID,
CS.InvoicePeriod,
CS.Period,
S.Price,
S.ServiceCategoryID,
IF(LENGTH(CS.Description) > 0, CS.Description, S.Description) AS Description,
CS.Discount,
DATE_FORMAT(CS.StartDate, "%d-%m-%Y") AS StartDate,
'.($Timestamp === TRUE ? 'UNIX_TIMESTAMP(CS.PayedUntill)' : 'DATE_FORMAT(IFNULL(CS.PayedUntill, DATE_ADD(CS.StartDate, INTERVAL 1 YEAR)), "%d-%m-%Y")').' AS PayedUntill,
DATEDIFF(NOW(), CS.PayedUntill) AS PayedUntillDifference,
CS.ReferenceID,
CS.External,
CS.Redirect,
CS.RedirectType,
CS.Active,
H.HostingID,
H.ServerIP,
H.Username
FROM ClientService AS CS
JOIN Client AS C
ON C.ClientID = CS.ClientID
JOIN Service AS S
ON S.ServiceID = CS.ServiceID
LEFT JOIN Hosting AS H
ON H.HostingID = CS.ReferenceID
AND H.ClientID = C.ClientID
---> LEFT JOIN HostingAccount AS HA
ON HA. <----
WHERE CS.ClientServiceID = :CSID
AND C.ClientID = :CID
AND CS.Active IN (1,5,6,9)
Я пометил LEFT JOIN HostingAccount с ---> < --- и имеет описание, например, в нем без «»
Этот запрос я опробованных и это дает мне запись без "" из таблицы ClientService
SELECT SUBSTR(Description, LOCATE('"',Description)+1,
(CHAR_LENGTH(Description) - LOCATE('"',REVERSE(Description)) -
LOCATE('"',Description))) from ClientService
Вопрос:
Как совместить запрос SUBSTR с LEFT JOIN HostingAccount AS HA ON HA.description (без разделителя) = CS.description (между разделителем)
Я отредактировал код с вопросом –