首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SQL:复杂查询的问题

SQL:复杂查询的问题
EN

Stack Overflow用户
提问于 2010-12-12 05:05:55
回答 3查看 136关注 0票数 1

或者至少它对我来说很复杂,因为我对SQL完全是个新手。

我想为我的MySQL-ODBC电话簿程序编写一个查询,它返回一个人的某些详细信息和他的主要电话号码(如果有)。

person和number存储在不同的表(person和numbers)中,而它们的关系存储在npr (number-person relations)表中。

'persons‘的主键是'nick','numbers’的主键是'number','npr‘的主键是'persons_nick’和'numbers_number‘。

如果一个数字是主要的,它是由npr表的type属性中的单词" primary“表示的。(我知道它很原始,但我认为我不需要这个属性,现在我没有时间正确地实现它)

下面是现在的代码:

代码语言:javascript
复制
SELECT persons.nick AS nick, persons.fullname AS fullname,
    persons.prefix AS prefix, persons.surname AS surname,
    persons.forename AS forename, persons.photo AS photo,
    numbers.prettynumber AS primarynumber
FROM persons
RIGHT JOIN npr ON npr.persons_nick=persons.nick
LEFT JOIN numbers ON npr.numbers_number=numbers.number
WHERE npr.type LIKE '%primary%'
ORDER BY nick;

当然,如果此人没有主电话号码,则不会返回任何内容。在这种情况下,我如何重写此查询以返回人员的属性和无效数字?

谢谢。

EN

Stack Overflow用户

发布于 2010-12-12 05:19:14

在这种情况下,您可以使用IsNullCoalesce

票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4418948

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档