【发布时间】:2019-05-04 17:17:43
【问题描述】:
如果另一个表具有NULL 值,如何从users 表中选择行条目?
SELECT
CONCAT(`fh_users`.`username`, '_', `fh_ftp_user`.`username`) AS `userid`,
`fh_ftp_user`.`password` AS `passwd`,
'1010' AS `uid`,
'1010' AS `gid`,
`fh_ftp_user`.`path` AS `homedir`,
'/sbin/nologin' AS `shell`
FROM
`fh_ftp_user`,
`fh_users`
WHERE
`fh_ftp_user`.`username`='%U'
OR
(`fh_ftp_user`.`user_id`=`fh_users`.`id` AND `fh_users`.`username`='%U' AND `fh_ftp_user`.`username` IS NULL)"
隐式,将选择表fh_ftp_user。 fh_users 只会用于CONCAT 主用户名的用户名。
用户表
FTP 用户
结果
预期结果
如果fh_ftp_user.username 是NULL,则将fh_users.username 设置为userid
否则,如果fh_ftp_user.username 不是 NULL,则将两个用户名用下划线连接为userid。
我如何在这里创建一个子查询来处理这些行为?
【问题讨论】:
标签: mysql