我的查詢:
select a.id, a.affordation
FROM public.affiliation AS a
WHERE NOT EXISTS (
SELECT *
FROM ncbi.affi_known1 AS b
WHERE a.id = b.id
)
極限 5000
它回傳:
| id | 隸屬關系 |
|---|---|
| 4683763 | Psychopharmacology Unit, Dorothy Hodgkin Building, University of Bristol, Whitson Street, Bristol, BS1 3NY, UK。
作為第一行。
但是
select * from ncbi. affi_known1 where id = 4683763
做回傳資料的id = 4683763
uj5u.com熱心網友回復:
你對EXISTS作業方式的理解可能有偏差。 你當前的existence查詢是說id 4683763存在于affiliation表中,不是affi_known1表。 因此,下面的查詢應該回傳單一的記錄:
SELECT a.id, a.affiliation
FROM public.affiliation a
WHERE a.id = 4683763;
uj5u.com熱心網友回復:
我假設需求是只在第二個表中不存在id的情況下獲取記錄,所以你可以嘗試這樣做
select a.id, a.affiliation
FROM public.affiliation AS a
WHERE a.id NOT IN (
SELECT id
FROM ncbi.affi_known1
)
uj5u.com熱心網友回復:
如果id是一個整數,你的查詢將做你想要的事情。
如果id是一個字串,你可能會有 "look-alikes "的問題。 很難說問題出在哪里 -- id中可能有空格,隱藏的字符,或其他東西。 而且這可能是在任何一個表中。
select id
from ncbi.affi_known1
where not id ~ '^[0-9]*$'/span>;
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/334027.html
標籤:
下一篇:在R中創建一個聯合頻率分布表
