Mon problème est que j'ai une instruction Select qui a une clause where qui est générée à la volée. Il est joint à travers 5 tables.Compte SQL sur plusieurs jointures avec dynamique O WH
J'ai fondamentalement besoin d'un nombre de chaque instance DISTINCT d'un ID utilisateur dans le tableau 1 qui tombe dans la portée de la WHERE. Cela doit pouvoir être exécuté dans une déclaration aussi bien. Donc, Estimement, je ne peux pas faire un GROUP BY global à cause des 4 autres tables dont j'ai besoin.
Si je pouvais obtenir une colonne qui avait le nombre qui a été dupliqué là où la colonne de clé primaire est ce serait parfait. c'est en ce moment ce que je regarde comme ma requête:
SELECT *
FROM TBL1 1
INNER JOIN TBL2 2 On 2.FK = 1.FK
INNER JOIN TBL3 3 On 3.PK = 2.PK INNER JOIN TBL4 4 On 4.PK = 3.PK
LEFT OUTER JOIN TBL5 5 ON 4.PK = 5.PK
WHERE 1.Date_Time_In BETWEEN '2010-11-15 12:00:00' AND '2010-11-30 12:00:00'
ORDER BY
4.Column
, 3.Column
, 3.Column2
, 1.Date_Time_In DESC
Ainsi, au lieu de sélectionner toutes les colonnes, je vais filtrer à environ 5 ou 6, mais avec ce que je besoin de quelque chose comme une colonne totale est le nombre distinct de clé primaire TBL1 qui applique la clause WHERE qui a une possibilité de croissance et de réduction de la taille. Je souhaiterais presque qu'il y avait un moyen d'appliquer la même clause WHERE à un sous-ensemble parce que je réalise que cela fonctionnerait mais je ne connais pas d'autre moyen que de créer une variable et de la placer dans les deux endroits que je peux. Je fais non plus.
Quelle est votre db? – jira
FK est votre clé primaire? Si oui, pourquoi ne pouvez-vous pas vous grouper? En plus, vous pouvez regrouper par plus de 1 clé – Mikhail
Le regroupement m'oblige à restreindre les données. Si je pouvais regrouper, je le ferais, mais cela signifie que je n'ai qu'une seule ligne basée sur ce groupe et que j'ai besoin de plusieurs résultats. une colonne et persister cette valeur à travers le nombre de résultats multiples. – Evidica