Ajuda no HSQLDB

Bom dia galera, preciso de uma ajudinha rápida, preciso que um campo receba valores de um select feito dentro de uma inserção de dados(um subselect), alguém pode me passar um exemplo?

package br.com.testes;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

public class testet {
@SuppressWarnings(“unchecked”)
public ArrayList retornaTudo() throws SQLException {
try {
// Dados do hsql
String HDriver = “org.hsqldb.jdbcDriver”;
String Hurl = “jdbc:hsqldb:hsql://localhost”;
String Huser = “sa”;
String Hpassword = “”;

		// registrando o driver
		Class.forName(HDriver);

		// Conexao
		Connection con = DriverManager
				.getConnection(Hurl, Huser, Hpassword);
		List lista = new ArrayList();
		Statement st = con.createStatement();
		ResultSet rs = st.executeQuery("Select * from nome_tabelal");
		while (rs.next()) {
			lista.add(rs.getString("nome_do_campo_no_banco_de_dados"));
		}
		return (ArrayList) lista;

	} catch (ClassNotFoundException e) {
		System.out.println("Erro no Driver:\n\t " + e);
		return null;
	} catch (SQLException e) {
		System.out.println("Erro de sql");
		return null;
	}
}

}

léo

Esta é a query que quero usar:
INSERT INTO REGISTROS(ID_REGISTRO,ID_AG,ID_CH,DATA,VALOR,VALIDO) VALUES( ?,?,?,?,?)

No passar para os dois primeiros valores(?) quero passar o resultado de um select e não sei qual a sintaxe usada no HSQLDB.