SQLite — joindre les deux sous-requêtes
Ou, au moins, je pense qu'ils sont appelés les sous-requêtes (débutant et autodidacte dans SQLite). J'ai deux SELECT
consolidés à partir de deux tables dans la même base de données. Je voudrais me joindre à ces deux sous-requêtes le long des colonnes date
et symbol
. Les sous-requêtes fonctionner séparément, mais quand j'essaie de JOIN
j'obtiens une erreur (error in statement: near "JOIN": syntax error
). Voici ma chaîne de requête:
SELECT date, symbol, SUM(oi*contract_settle) AS oi_dollar
FROM (SELECT date, symbol, oi, contract_settle
FROM ann
UNION
SELECT date, symbol, oi, contract_settle
FROM qtr)
GROUP BY date, symbol
HAVING oi_dollar > 0
JOIN
(SELECT date, symbol, ret FROM crsp
USING (date, symbol))
Merci!
OriginalL'auteur Richard Herron | 2010-11-05
Vous devez vous connecter pour publier un commentaire.
Votre clause de JOINTURE doit être avant la clause GROUP BY. Aussi, je sais que sqlite ne a quelques "facultatif" syntaxes pour les jointures, mais en plus la norme de la requête devrait fonctionner:
Si vous en savez un peu plus à propos de l'oi et de contract_settle colonnes (comme, qu'ils ne peuvent pas être tous les deux négatifs), une clause where de
a.oi <> 0 AND a.contract_settle <> 0
ont de meilleures performances.oi
ou zérocontract settle
, et les deux doivent être non négatif, j'ai donc utiliséHAVING oi_dollar > 0
à la fin de la requête. Merci!Merci s'accoupler u a sauvé ma journée...:)
OriginalL'auteur Andrew
Vous avez besoin de définir comment vous joindre par une clause. Je ne sais pas à propos de SQLite, mais en SQL, ce serait comme ça (peut ne pas fonctionner):
OriginalL'auteur Bryan Denny