Re: showing multiple REFERENCE details of id fields in single
От | Daryl Richter |
---|---|
Тема | Re: showing multiple REFERENCE details of id fields in single |
Дата | |
Msg-id | 43297A80.9030008@brandywine.com обсуждение исходный текст |
Ответ на | showing multiple REFERENCE details of id fields in single query that share the same table (Ferindo Middleton Jr <fmiddleton@verizon.net>) |
Список | pgsql-sql |
Ferindo Middleton Jr wrote: > I have a table which has two id fields which REFERENCE data back at > another table. It's setup like this: > > class_prerequisite_bindings(id SERIAL, class_id INTEGER REFERENCES > classes(id), prerequisite INTEGER REFERENCES classes(id)) > > The classes table is like this: > classes(id SERIAL, course_title TEXT, course_code TEXT) > > I have the following query: > SELECT * FROM class_prerequisite_bindings, classes WHERE > class_prerequisite_bindings.class_id = 64 AND > class_prerequisite_bindings.class_id = classes.id; > > If I run the query above, the result will only give me info about the > class_id field matching id 64 back in the classes table. PROBLEM: I want > this query to also show the info about the prerequisite field which > would also have info at the classes table. This query will only show the > course_title and course_code of the class_id but I need this for the > prerequisite field as well. I think I need to do a JOIN, but I don't > understand how. How can I do this? > create table classes( id SERIAL PRIMARY KEY, course_title TEXT, course_code TEXT ); go insert into classes( course_title, course_code ) values( 'A', 'A1' ); insert into classes( course_title, course_code ) values( 'B', 'B1' ); insert into classes( course_title, course_code ) values( 'C', 'C1' ); go create table class_prerequisite_bindings( id SERIAL, class_id INTEGER REFERENCES classes(id), prerequisite INTEGER REFERENCES classes(id) ); go insert into class_prerequisite_bindings( class_id, prerequisite ) values( 1, 2 ); insert into class_prerequisite_bindings( class_id, prerequisite ) values( 1, 3 ); go SELECTa.id AS class_id,c.id AS prerequisite_class FROMclasses a JOIN class_prerequisite_bindings b ON b.class_id = a.id JOIN classes c ON c.id = b.prerequisite WHEREa.id = 1; go > Ferindo > > ---------------------------(end of broadcast)--------------------------- > TIP 5: don't forget to increase your free space map settings -- Daryl "We want great men who, when fortune frowns, will not be discouraged." -- Colonel Henry Knox, 1776
В списке pgsql-sql по дате отправления: