2010-02-23 4 views
0

J'ai deux tables, TableA et TableB. Je dois sélectionner une valeur de comptage à partir de la TableA, en fonction d'une condition where. Je dois sélectionner deux valeurs de la TableB. Je voudrais toutes les valeurs dans un jeu de résultats. Il n'y aura jamais plus d'une ligne dans le jeu de résultats.Sélection de deux tables, avec des colonnes différentes, où l'on a besoin d'un nombre

Voici ce que j'ai maintenant:

SELECT count(id) FROM TableA WHERE ($some_where_statement) SELECT owner, owner_ID from TableB

Je sais cela devrait être simple, mais cela jette une erreur. Aucune suggestion?

+1

Je ne pense pas que ce que vous cherchez soit clair. Pourriez-vous inclure des exemples de données et ce que vous attendez du résultat? – CoderDennis

Répondre

1

Vous pouvez traverser join pour joindre les lignes de deux tables non liées:

SELECT T1.cnt, T2.owner, T2.owner_ID 
FROM (SELECT count(id) FROM TableA WHERE ($some_where_statement)) AS T1 
CROSS JOIN (SELECT owner, owner_ID from TableB) AS T2 

Pour avoir une seule ligne dans le jeu de résultats, on suppose que les deux sous-requêtes renvoient qu'une seule ligne. Je soupçonne que ce n'est pas le cas pour la deuxième sous-requête. Il vous manque probablement une clause where.

Questions connexes