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?