我使用MySQL来确定2个表格中的选区域,有些区域重叠,有些区域不重叠。我可以使用以下方法成功选择重叠区域:
SELECT chrom, site
FROM
table1 AS s
STRAIGHT_JOIN
table2 AS i
ON MBRINTERSECTS(PointFromText(CONCAT('POINT(',s.chrom,' ',s.site,')')), i.Line_string)
ORDER BY RAND() limit 5;
Table1有两列整数值,我将其转换为与table2中的一个线串交叉的点,以提供落在table2中任何一行的条目(在本例中只是chrom和site列)。但是,我还希望table1中的条目不与table2中的任何线串相交。
我尝试使用MBRDISJOINT来做这件事,但也许我不完全理解它是如何工作的,因为我得到了一些实际上与table2中的条目相交的结果(这可能与我使用STRAIGHT_JOIN有关,但我不知道#39;不知道怎么做这个)。