2016-11-30 82 views
-1
MariaDB [object]> select Protein, count(mirna) from exp2 
INTERSECT select Protein, count(mirna) from exp3 group by Protein; 

錯誤1064(42000):您的SQL語法錯誤;檢查對應於您MariaDB的服務器版本的權利 語法使用附近的 手冊「選擇蛋白,通過計算蛋白質 從EXP3組(miRNA的)」在1號線相交命令不起作用

我有兩個表EXP2和exp3,都有很多常見的行,我想從這兩個tables.ie的常見數據中查詢我想要一個共同的蛋白質數據表和數量相應的miRNA數量表。

我使用lampp,我該如何解決這個查詢?

+0

感謝您編輯問題的格式。 – user7108953

回答

1

MySQL不提供INTERSECT操作。你需要使用類似JOIN操作的東西。此示例禁止與ON條件不匹配的所有行。

SELECT a.Protein, a.mirnacount 
    FROM (SELECT Protein, count(mirna) mirnacount from exp2 group by Protein) a 
    JOIN (SELECT Protein, count(mirna) mirnacount from exp3 group by Protein) b 
    ON a.Protein = b.Protein AND a.mirnacount = b.mirnacount 

如果您的項目需要完整的設置操作,您可以考慮切換到PostgreSQL。

+0

它返回一個空集 – user7108953

0

SELECT T1.Protein,count(T1.miRNAID) FROM exp2 AS T1 INNER JOIN exp3 AS T2 ON T1.Protein = T2.Protein AND T1.Target_Protein_id= T2.Target_Protein_id AND T1.miRNAID=T2.miRNAID
GROUP BY T1.Protein ORDER BY count(T1.miRNAID)

這完全適用於我。