I have two tables in my database, one is Transactions and the other is TransactionHistories. The latter is essentially an auditing table, whereby a trigger executes on insert, update and delete on Transactions to capture a screenshot of the data.
I am successfully retrieving all of the data stored in the Transactions table where the columns match, but the difficulty comes where I am trying to retrieve data from another table using a foreign key. For instance:
The transaction table has a field “TransactionType_TransactionTypeId”, but in the audit table we wish to store its ‘name’ equivalent as “TransactionTypeName”. This needs to be populated from the “TransactionTypes” table, which has the fields “TransactionTypeId” and “Name”.
I am struggling to write a query to retrieve this as we wish. I am trying something similar to the following but having little success:
SELECT @TransactionTypeName=Name
FROM TransactionTypes
WHERE inserted.TransactionType_TransactionTypeId=TransactionTypes.TransactionTypeId;
I’m assuming that is a syntactic nightmare. If someone could point me in the right direction I would be extremely grateful!
well to get a name you should do the following
but you have to know that
insertedtable can have more than one row, and you are getting value for only one row.