【发布时间】:2021-04-22 05:50:20
【问题描述】:
我在一个表中有 3 列——GroupingKey、GroupingValue 和 GroupingType,如下所示:
CREATE TABLE Grouping
(`GroupingKey` varchar(8), `GroupingValue` varchar(7), `GroupingType` varchar(8));
INSERT INTO Grouping
(`GroupingKey`, `GroupingValue`, `GroupingType`)
VALUES
('Language', 'Italian', 'Category'),
('Language', 'Russian', 'Unknown'),
('Unknown', 'Unknown', 'Unknown'),
('Phone', 'Unknown', 'Unknown');
除了 GroupingKey、GroupingValue 和 GroupingType 中分别有 Unknown、Unknown、Unknown 的行之外,选择上表中所有行的 SQL 查询是什么?
我预期的 SQL 查询输出是:
| GroupingKey | GroupingValue | GroupingType |
|---|---|---|
| Language | Italian | Category |
| Language | Russian | Unknown |
| Phone | Unknown | Unknown |
我尝试编写如下查询:
SELECT DISTINCT groupingkey,
groupingvalue,
groupingtype
FROM mytablename
WHERE groupingkey NOT LIKE 'Unknown'
AND groupingvalue NOT LIKE 'Unknown'
AND groupingtype NOT LIKE 'Unknown'
但最终发生的是,即使在上面指定的 3 列中的 1 列中,它也不会选择任何具有“未知”的行
【问题讨论】:
-
@Strawberry 感谢您的回复,您指的是查询的格式吗?因为我觉得我已经提供了相关表以及我尝试执行的查询,如您提供的链接中指定的那样。谢谢
-
您的查询说 AND groupingkey... AND...groupingvalue AND... groupingtype.... 所以只有当所有都像“未知”时。 Myabe 你应该把
AND改成OR吗?