mysql - 仅在数据库查询时名字和姓氏的首字母

标签 mysql sql

您好,您能帮我解决我的问题吗?

我想创建一个个人资料名称,其读法仅为 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 

最佳答案

您可以使用左侧的第一个字符作为姓氏

但是您不应该在这种情况下使用左连接表列作为内连接
将这些条件添加到 on 子句

    $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  ";

关于mysql - 仅在数据库查询时名字和姓氏的首字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54449540/

相关文章:

mysql - 如何修复 mySQL 查询以查找与每个日期的总计数(包括零)映射的所有月份日期?

mysql - 在更新 mysql 中的行时,有或没有附加条件哪种语句更有效

sql - 如何使用批处理脚本将多个 sql 文件导入到 postgreSQL 中?

mysql - SQL 更新 - 出现错误

SQL Union All 与 order by 和 limit (Postgresql)

php - MySql Group By 和 Sum 列的总值,以最小值显示

php - 有 ORM 框架支持跨数据库/跨服务器连接吗?

php - 使用 openssl 的数据损坏 mysql

sql - 搜索多个表的顺序

sql - 可以从 influxdb 中删除数据吗?