#[derive(Select)]Expand description
Derive Select to create a new *Select struct.
This *Select struct will implement the IntoSelect trait and can be used with Query::into_vec
or Transaction::query_one.
Usage can also be nested.
Example:
#[rust_query::migration::schema(Schema)]
pub mod vN {
    pub struct Thing {
        pub details: Details,
        pub beta: f64,
        pub seconds: i64,
    }
    pub struct Details {
        pub name: String,
    }
}
use v0::*;
use rust_query::{Table, Select, Transaction};
#[derive(Select)]
struct MyData {
    seconds: i64,
    is_it_real: bool,
    name: String,
    other: OtherData
}
#[derive(Select)]
struct OtherData {
    alpha: f64,
    beta: f64,
}
pub fn do_query(db: &Transaction<Schema>) -> Vec<MyData> {
    db.query(|rows| {
        let thing = Thing::join(rows);
        rows.into_vec(MyDataSelect {
            seconds: thing.seconds(),
            is_it_real: thing.seconds().lt(100),
            name: thing.details().name(),
            other: OtherDataSelect {
                alpha: thing.beta().add(2.0),
                beta: thing.beta(),
            },
        })
    })
}