1

我正在尝试从 Gaia 望远镜数据库中检索一些数据(https://gea.esac.esa.int/archive/:然后继续“搜索”,然后在“高级(ADQL)”选项卡中)。为此,我使用 ADQL(类似于 SQL,但适用于天文查询)。

第一个搜索是获取所有恒星的大小条件:

SELECT *
FROM gaiadr2.gaia_source
WHERE phot_g_mean_mag-(0.00652*POWER(bp_rp, 3)-0.08863*POWER(bp_rp, 2)+0.37112*bp_rp+0.00895)<=13

然后,如果一颗星星验证了这个条件,我想让所有星星都在一个半径为 0.0208 度(5 * 15 角秒)的圆圈中。为此,我执行以下搜索:

SELECT * 
FROM gaiadr2.gaia_source 
WHERE CONTAINS(POINT('ICRS',gaiadr2.gaia_source.ra, gaiadr2.gaia_source.dec), CIRCLE('ICRS', ra,  dec, 0.0208))=1

其中 ra 和 dec 是满足第一个请求的星的坐标。

问题是我有大约 950 万个星星可以满足第一个查询,所以我有 950 万个查询要做之后才能获得周围的星星。我想知道是否有办法合并这两个查询。我的意思是:我执行第一个查询,如果一颗星满足它,那么它会自动执行第二个查询以获取周围的星星并将所有满足第二个条件的星星添加到结果文件中。有没有办法做到这一点?谢谢!

注意:我添加了 SQL 标记,因为 ADQL 是相似的,如果有办法进行这样的条件搜索,那么在 ADQL 中也可以这样做。

4

0 回答 0