select
Selecting 2+ tables with 2+ wheres AND
const sendWallet = await connection
.getRepository("block_transaction")
.createQueryBuilder("block_transaction")
.select(
"ANY_VALUE(block_transaction.token_address) as token_address, ANY_VALUE(block_transaction.createdAt) as createdAt, ANY_VALUE(block_transaction.value) as value, ANY_VALUE(block_transaction.from_address) as from_address,ANY_VALUE(block_transaction.to_address) as to_address," +
"ANY_VALUE(block_transaction.block_number) as block_number, ANY_VALUE(block_transaction.transaction_hash) as transaction_hash," +
"ANY_VALUE(contract.image_url) as contract_image_url, ANY_VALUE(contract.tokenName) as token_name, ANY_VALUE(contract.symbol) as token_address"
)
.from("contract")
.addSelect(
"ANY_VALUE(tokens.image_url) as token_image_url,ANY_VALUE(tokens.metadata) as metaData,ANY_VALUE(tokens.ranking) as ranking"
)
.from("tokens")
.where("contract.contractAddress = block_transaction.token_address")
.andWhere(
"tokens.contractAddress = block_transaction.token_address"
)
.andWhere("tokens.tokenId = block_transaction.token_id")
.andWhere(
"block_transaction.to_address = :to_address OR block_transaction.from_address=:from_address",
{
to_address: x.address,
from_address: x.address,
}
)
.andWhere("block_transaction.from_address > :createTime1", {
createTime1: subtractDate(1),
})
.andWhere(
"EXISTS(select tokens.contractAddress, tokens.tokenId, tokens.image_url FROM tokens " +
"where tokens.contractAddress = block_transaction.token_address)"
)
.limit(25)
.orderBy("block_transaction.createdAt", "DESC")
.getRawMany();
Last updated
Was this helpful?