【问题标题】:Access - Tricky SQL statementAccess - 棘手的 SQL 语句
【发布时间】:2023-03-14 13:12:02
【问题描述】:

我有一个包含联系人、电话号码、传真、手机的 Access 数据库。示例:

Table: Numbers

Name       Number      Type
George     555555      Phone
George     656565      Phone
George     323232      Fax
Michael    656565      Phone
John       323232      Fax
Steve      234345      Mobile

我想选择电话号码为 656565 AND 传真号码为 323232 的人, 即这里只有乔治,而不是迈克尔或约翰。 (如果有帮助,名称是外键) SQL语句是什么?

【问题讨论】:

    标签: sql ms-access syntax


    【解决方案1】:

    下面列出了一种可能性,但我认为任何答案都取决于 [Name] 是否是它来自的任何表中的唯一键:

    SELECT [Name] FROM Numbers 
    WHERE Type = 'Phone' 
    AND [Number] = '656565'
    AND [Name] IN     
        (SELECT [Name] FROM Numbers 
         WHERE Type = 'Fax' 
         AND [Number] = '323232')
    

    我假设 Number 是一个文本字段,因为电话号码通常存储为文本。

    【讨论】:

    • 我总是使用 JOIN 而不是 IN 子句。
    【解决方案2】:

    您可能需要查找相关子查询的概念。

    【讨论】:

    • 我根本看不到相关子查询在这里是必要的。请提供 SQL。
    猜你喜欢
    • 2010-11-16
    • 1970-01-01
    • 2012-11-24
    • 2011-03-13
    • 2019-04-09
    • 1970-01-01
    • 2018-03-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多