/* Given the following database schema: */
CREATE TABLE sqlite_sequence(name,seq)

CREATE TABLE "essays"
(
    projectid         TEXT,
    teacher_acctid    TEXT,
    title             TEXT,
    short_description TEXT,
    need_statement    TEXT,
    essay             TEXT
)

CREATE TABLE "projects"
(
    projectid                              TEXT not null
        primary key,
    teacher_acctid                         TEXT,
    schoolid                               TEXT,
    school_ncesid                          TEXT,
    school_latitude                        REAL,
    school_longitude                       REAL,
    school_city                            TEXT,
    school_state                           TEXT,
    school_zip                             INTEGER,
    school_metro                           TEXT,
    school_district                        TEXT,
    school_county                          TEXT,
    school_charter                         TEXT,
    school_magnet                          TEXT,
    school_year_round                      TEXT,
    school_nlns                            TEXT,
    school_kipp                            TEXT,
    school_charter_ready_promise           TEXT,
    teacher_prefix                         TEXT,
    teacher_teach_for_america              TEXT,
    teacher_ny_teaching_fellow             TEXT,
    primary_focus_subject                  TEXT,
    primary_focus_area                     TEXT,
    secondary_focus_subject                TEXT,
    secondary_focus_area                   TEXT,
    resource_type                          TEXT,
    poverty_level                          TEXT,
    grade_level                            TEXT,
    fulfillment_labor_materials            REAL,
    total_price_excluding_optional_support REAL,
    total_price_including_optional_support REAL,
    students_reached                       INTEGER,
    eligible_double_your_impact_match      TEXT,
    eligible_almost_home_match             TEXT,
    date_posted                            DATE
)

CREATE TABLE donations
(
    donationid                               TEXT not null
            primary key,
    projectid                               TEXT,
    donor_acctid                             TEXT,
    donor_city                               TEXT,
    donor_state                              TEXT,
    donor_zip                                TEXT,
    is_teacher_acct                          TEXT,
    donation_timestamp                       DATETIME,
    donation_to_project                      REAL,
    donation_optional_support                REAL,
    donation_total                           REAL,
    dollar_amount                            TEXT,
    donation_included_optional_support       TEXT,
    payment_method                           TEXT,
    payment_included_acct_credit             TEXT,
    payment_included_campaign_gift_card      TEXT,
    payment_included_web_purchased_gift_card TEXT,
    payment_was_promo_matched                TEXT,
    via_giving_page                          TEXT,
    for_honoree                              TEXT,
    donation_message                         TEXT,
    foreign key (projectid) references projects(projectid)
)

CREATE TABLE resources
(
    resourceid            TEXT not null
            primary key,
    projectid             TEXT,
    vendorid              INTEGER,
    vendor_name           TEXT,
    project_resource_type TEXT,
    item_name             TEXT,
    item_number           TEXT,
    item_unit_price       REAL,
    item_quantity         INTEGER,
    foreign key (projectid) references projects(projectid)
)

/* Answer the following: Which state have the highest number of PayPal donations for an honoree whose portion of a donation included corporate sponsored giftcard? which state refers to donor_state; highest number refers to max(count(donor_state)); PayPal donations refers to payment_method = 'paypal'; for an honoree refers to for_honoree = 't'; included corporate sponsored giftcard refers to payment_included_campaign_gift_card = 't' */
SELECT 
SELECT DISTINCT donor_state FROM donations WHERE for_honoree = 't' AND payment_included_campaign_gift_card = 't' AND payment_method = 'paypal' AND donor_state = ( SELECT donor_state FROM donations GROUP BY donor_state ORDER BY SUM(donation_total) DESC LIMIT 1 )