将字符串作为 `"@gmail" 连接到用户名并忽略一些行

Concat string as `"@gmail" to Usernames and ignore some lines

我有一个 table Table1,其中包含以下字段 Username NumberID CodeUser Company

Username NumberID CodeUser Company user1 12453 245 G user2 25145T Y user3 1845Z /500 G user4 65421 3452 Y user5 13254 /076 Y

我会有一个查询结果,它会显示行 user1user4 意味着忽略 WHERE CodeUser 为空或具有以 / 开头的字符,但也 Username 应该有完整的地址如果 Company=G (这意味着 user1 应该显示 user1@gmail.com

当我单独进行查询时,我得到了结果,但是当我尝试在一个查询中组合时,我有错误。

1. SELECT Username, CONCAT( Username, "@gmail.com" ) ,NumberID, CodeUser, Company
FROM `Table1` 
WHERE Company = 'G';


2. SELECT Username,NumberID,CodeUser,Company
FROM Table1
WHERE CodeUser >'' AND CodeUser NOT LIKE '/%'

你能帮我把这个合并到一个查询中吗?

以为你已经有了所有的答案

SELECT Username,
  CASE WHEN Company='G' THEN 
      CONCAT(Username, '@gmail.com') ELSE '' END AS GMail,
  NumberID, CodeUser, Company 
FROM Table1 WHERE CodeUser >'' AND CodeUser NOT LIKE '/%'

这是你想要的吗?

SELECT (case when company = 'G' then CONCAT(Username, '@gmail.com'
             else UserName
        end) as username,
       NumberID, CodeUser, Company
FROM Table1
WHERE (Company = 'G') or
      (CodeUser > '' AND CodeUser NOT LIKE '/%');