for row in cur_t:
        course = row['course']
        cur_p.execute("""
                          SELECT id
                          FROM education_program
                          WHERE name=%s
                          AND department_id
                          IN (SELECT id FROM profile_department WHERE
school_id=1)
                          """, (course,))
        x = cur_p.fetchall()
        print x

So far I can see the program IDs but I am still getting empty list. Also
the program_id seems to be in a nested list. Why is that?

On Tue, May 15, 2018 at 10:47 AM, tango ward <tangowar...@gmail.com> wrote:

> Hi,
>
> Yes sorry, here's the tables:
>
> [cur_t DB] [student_profile table]
>
>
>         Column        |          Type          | Collation | Nullable
> |        Default        |
> ----------------------+------------------------+-----------+
> ----------+-----------------------+
>  studentnumber        | character varying(45)  |           | not null |
> ''::character varying |
>  firstname            | character varying(60)  |           |
> |                       |
>  middlename           | character varying(60)  |           |
> |                       |
>  lastname             | character varying(60)  |           |
> |                       |
>  course               | character varying(150) |           | not null |
> ''::character varying |
>
>
>
> [cur_p DB] [profile table]
>
>         Column        |          Type          | Collation | Nullable
> |        Default        |
> ----------------------+------------------------+-----------+
> ----------+-----------------------+
>  studentnumber        | character varying(45)  |           | not null |
> ''::character varying |
>  firstname            | character varying(60)  |           |
> |                       |
>  middlename           | character varying(60)  |           |
> |                       |
>  lastname             | character varying(60)  |           |
> |                       |
>  program_id           | integer                |           | not null
> |                       |
>  department_id        | integer                |           | not null
> |                       |
>  campus_id            | integer                |           | not null
> |                       |
>
>
>
> So I am migrating the data from one database to another. Here, I am moving
> data of student from student_profile table to profile table.
>
> I have already migrated the course data to another table. What I would
> like to do is get the value of program_id and department_id for the profile
> table. I want to check if the course exist in profile_program table, then
> get it's ID. I think I can use the same logic for getting and setting value
> for the department_id column of profile table. I am using psycopg2 to
> access and move the data.
>
>
> for row in cur_t:
>           course = row['course']
>           # Here I would like to get the value of program_id and
> department_id and insert it to the said columns but I don't know how to do
> it yet
>           # I put ?? in department_id coz I don't know how to access the 3
> department IDs in this query.
>           cur_p.execute(""" SELECT id from st_profile where
> name='$[course]' and department_id=?? """)
>           x = cur_p.fetchall()
>           # This will print an error since I added department_id without
> value yet but if I remove it, I will get "None"
>           print x
>
>
>
> Sorry for asking questions a lot, we don't have DBA at the moment.
>
>
> Thanks,
> J
>
>
> On Tue, May 15, 2018 at 9:57 AM, melvin6925 <melvin6...@gmail.com> wrote:
>
>> Perhaps if you care to provide us with the structure of all tables
>> involved, we could suggest a reasonable query.
>>
>>
>>
>> Sent via the Samsung Galaxy S® 6, an AT&T 4G LTE smartphone
>>
>> -------- Original message --------
>> From: tango ward <tangowar...@gmail.com>
>> Date: 5/14/18 21:08 (GMT-05:00)
>> To: "pgsql-generallists.postgresql.org" <pgsql-general@lists.postgresq
>> l.org>
>> Subject: Query ID Values
>>
>>
>> Good Day,
>>
>> I need to run an SQL query and get a program_id and department_id of a
>> specific course for each student. I am thinking of running an IF condition
>> to check if the course name is in program and get it's ID but I don't know
>> yet where to use the IF condition in the query.
>>
>> sample code:
>>
>> for row in cur_t:
>>      course = row['course']
>>
>>
>>      cur_p.execute("""SELECT id from program where name='$[course]']
>>                                WHERE department_id=?? """)
>>
>>
>> Problem is I have 3 department IDs ( Senior High, Vocational,
>> Undergraduate ) and each ID have multiple programs/courses. Each
>> program/course is connected to the deparment table via department_id.
>>
>> May I ask an advice on how to approach this?
>>
>>
>> Thanks,
>> J
>>
>
>

Reply via email to