Je suis relativement novice en matière de SQL et je vais essayer d'utiliser la bonne terminologie. J'ai deux tables, tbl_Trans qui contient les détails généraux de la transaction, et tbl_TransData qui contient les détails de la transaction.
Je veux montrer chaque enregistrement de trans et la catégorie de la trans qui est contenue dans la tbl_TransData. S'il y a plus d'une catégorie pour chaque Trans, je veux que le texte soit 'Mulitple', sinon je veux renvoyer le champ de la catégorie.
Contenu de la table TRANS
int_Trans_ID dtm_TransDate txt_Type txt_Description txt_Bank dbl_Amount
1 17/12/2018 REC Sales Current 1000
2 20/12/2018 PAY Expenses paid Current -155
3 21/12/2018 PAY MW Repairs Current -250
Contenu de la table TRANSDATA
int_TransData_ID int_TransID txt_Category dbl_Amount
1 1 Sales A -600
2 1 Sales B -400
3 2 Travel 100
4 2 Meal 55
5 3 MW Repairs 250
Voici le code jusqu'à présent, mais si je remplace le ELSE 'Single' par ELSE txt_Category, cela ne fonctionne pas.
SELECT
int_Trans_ID,
dtm_TransDate AS Date,
txt_Type AS Type,
txt_Description AS Description,
(SELECT
CASE
WHEN count(int_TransID) > 1
THEN 'Multiple'
ELSE 'Single'
END
FROM
dbo.tbl_TransData TD
WHERE
TD.int_TransID = T.int_Trans_ID) AS Category
FROM
tbl_Trans T
GROUP BY
int_Trans_ID, dtm_TransDate, txt_Type, txt_Description
C'est ce que j'aimerais voir.
int_Trans_ID Date Type Description Category
1 2018-12-17 REC Sales Multiple
2 2018-12-20 PAY Expenses paid Multiple
3 2018-12-21 PAY Car Repairs MW Repairs
Désolé pour le format des tableaux.
Toute aide serait très appréciée, ou même m'indiquer la direction d'autres postes.