这就是问题:
检索由其他客户引荐到书店的所有客户。列出每个客户的姓氏以及进行推荐的客户编号。 (引用栏)
这是我的疑问:
select lastname, referred
from customers
order by referred;
但是此查询会返回没有推介的客户,即他们拥有推荐列(null)
,这意味着他们从未被其他客户推荐。如何构建查询,以便它只给出由另一个客户推荐的客户?
这里是输出的图像链接: http://i.imgur.com/oi8vhhZ.jpg
答案 0 :(得分:1)
我想你可以试试这个
select lastname, referred from customers WHERE referred<>'';
答案 1 :(得分:0)
如果referred
接受NULL值,则在WHERE referred IS NOT NULL
子句后添加FROM
。
如果它不接受NULL值,则添加WHERE referred <> [value you take as meaning "not referred"]
答案 2 :(得分:0)
使其像
仅限空白
SELECT lastname, referred FROM customers WHERE referred != '' ORDER BY referred
仅限NULL
SELECT lastname, referred FROM customers WHERE referred IS NOT NULL ORDER BY referred
修改强>
对于空白和空白
SELECT lastname, referred FROM customers WHERE referred IS NOT NULL OR referred != '' ORDER BY referred;
答案 3 :(得分:0)
WHERE ... IS NOT NULL
应该有效,所以:
SELECT lastname,
referred
FROM customers
WHERE referred IS NOT NULL;
答案 4 :(得分:0)
由于每个客户可以引用多个客户并且可以由多个客户推荐,因此这是一种n:m关系。应该有另一个表来管理这种关系。然后,您必须使用JOIN
子句查询GROUP BY
。可以通过聚合函数COUNT()
检索引用者的数量。您应该提供完整的数据结构以获得详细的帮助。