MySQL从另一列中选择列值

时间:2018-06-28 15:09:48

标签: mysql join mysqli inner-join crud

我有一个mysql查询

select host, domain from table

Output:
host                        domain
host1.abc.com               abc.com 
host2.abc.com               null

我想更改查询,以便通过去除domain部分从第一列中获得host值。我不想从表中查询domain值,因为其中一些为空

这样host - host2.abc.com的域将是 abc.com

1 个答案:

答案 0 :(得分:1)

DROP TABLE bleach;

CREATE TABLE bleach (`host` VARCHAR(50) NOT NULL);

INSERT INTO bleach (`host`) VALUES ('host1.abc.com');
INSERT INTO bleach (`host`) VALUES ('host29.abcdefg.com');

SELECT * FROM bleach;

SELECT `host`, SUBSTRING_INDEX(`host`,'.',-2) FROM bleach;

输出:

host                 SUBSTRING_INDEX(`host`,'.',-2)
host1.abc.com        abc.com
host29.abcdefg.com   abcdefg.com