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

erreur 1064 (42000): Vous avez une erreur dans votre syntaxe SQL; consultez le manuel qui correspond à votre version du serveur MariaDB pour la bonne syntaxe à utiliser près « select protéines, count (Mirna) du groupe exp3 par protéine » à la ligne 1.commande Intersection ne fonctionne pas

J'ai deux tables exp2 et exp3, les deux ont de nombreuses lignes communes, je veux interroger à partir des données communes de ces deux tables.ie Je veux avoir un tableau de données commun de la protéine et le nombre correspondant de miARN en nombre. J'utilise lampp, comment puis-je résoudre cette requête?

+0

merci d'avoir modifié le format de question. – user7108953

Répondre

1

MySQL n'offre pas l'opération INTERSECT. Vous devez utiliser quelque chose comme une opération JOIN. Cet exemple supprime toutes les lignes qui ne correspondent pas à la condition ON. Vous pouvez envisager de passer à PostgreSQL si vous avez besoin d'un ensemble complet d'opérations d'ensemble pour votre projet.

+0

retourne un ensemble vide – 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)

cela fonctionne parfaitement pour moi.