имя и фамилия начальные только по запросу базы данных

0

Привет, вы можете помочь мне в моей проблеме?

Я хочу создать имя профиля, которое читается только как Sergio E. не Sergio Encabo

Вот запрос у меня

SELECT p.id, p.title, COUNT(b.id) AS bids, p.slug, p.'description', p.budget AS budget, p.'isFeatured', p.'slug', u.'profileLink', u.'profilePhoto', CONCAT_WS(' ', u.firstName , u.lastName ) AS fullName 
FROM tbl_projects AS p 
LEFT JOIN tbl_users AS u ON p.userId = u.userId 
LEFT JOIN tbl_bids AS b ON p.'id' = b.'projectId' 
WHERE p.'isActive' = 'y' AND u.'isActive' = 'y' AND p.'jobStatus' = 'open' AND p.userId=? 
GROUP BY p.id 
ORDER BY p.'id' DESC 
  • 1
    Знаете ли вы какую-либо функцию MySQL, которая может вернуть первый символ строки?
  • 0
    Вы пробовали ВЛЕВО (CustomerName, 1), '.' ?
Теги:
database

1 ответ

1

Вы можете использовать первый символ слева для фамилии

но вы не должны использовать столбцы левой объединенной таблицы, в которых это условие работает как внутреннее соединение
добавить эти условия в пункт

    $qry = "SELECT p.id
        , p.title
        , COUNT(b.id) AS bids
        , p.slug
        , p.'description'
        , p.budget AS budget
        , p.'isFeatured'
        , p.'slug'
        , u.'profileLink'
        , u.'profilePhoto'
        , CONCAT( u.firstName ,' ', left(u.lastName,1), '.' ) AS fullName 
        FROM tbl_projects AS p 
        LEFT JOIN tbl_users AS u ON p.userId = u.userId   AND u.'isActive' = 'y' 
        LEFT JOIN tbl_bids AS b ON p.'id' = b.'projectId'
        WHERE p.'isActive' = 'y' 
        AND p.'jobStatus' = 'open' 
         AND p.userId=? 
         GROUP BY p.id 
         ORDER BY p.'id' DESC  ";
  • 0
    Ты восхитителен!!!! Ты спас мне жизнь!
  • 0
    @ SergioEncabo спасение было довольно легким

Ещё вопросы

Сообщество Overcoder
Наверх
Меню