【问题标题】:Access - Sort by a combination of fields访问 - 按字段组合排序
【发布时间】:2018-04-04 23:37:24
【问题描述】:

我有(见下文)一张(虚构的)恒星表,然后是两张表,展示了同样虚构的卫星,它们可能是行星或小行星带。分别为tblStarstblAsteroidstblPlanets。两个卫星表中的每一个都有一个位置字段,该字段在两个表中是唯一的——我的意思是,ID 为 1 的恒星在位置 1、2 等处只有一个卫星,它可能在这两个表中的任何一个中,但不是两个都。我想按报告中的位置顺序对卫星进行排序,但看不到对这些字段组合进行排序的方法:

tblAsteroid:
Asteroid ID    Position
1               1
2               3

tblPlanet:
Planet ID       Position       Biome
1               2              Ice

Giving:
Position        AsteroidOrPlanet     Biome
1               Asteroid             N/A
2               Planet               Ice
3               Asteroid             N/A

为免生疑问,我承认这个问题是由我的数据库设计中的缺陷引起的,我应该有一个包含该位置的 tblSatellite,并且与 tblStar 和 1 是一对多使用 tblAsteroidtblPlanet 到 0-1。我已经解决了这个问题,我只是想知道它是否可能

【问题讨论】:

    标签: sql sorting ms-access


    【解决方案1】:

    要获得一个组合列表,无论如何您都需要一个 UNION 查询。您可以按公共字段对其进行排序。

    SELECT Position, 'Asteroid' AS AsteroidOrPlanet, 'N/A' AS Biome
    FROM tblAsteroid
    
    UNION ALL
    
    SELECT Position, 'Planet' AS AsteroidOrPlanet, Biome
    FROM tblPlanet
    
    ORDER BY Position
    

    【讨论】:

    • 完美运行,感谢您放纵我的好奇心。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-30
    • 2017-01-26
    • 2020-03-13
    • 1970-01-01
    相关资源
    最近更新 更多