Postgresql:使用一个表中的多行来从另一个表中获取行

时间:2013-01-06 21:16:13

标签: postgresql

我正在尝试从我的quiz_assign表中选择所有行,这些行的classid与我的类表中的teacherid相对应。我只需要quiz_assign表中的行。

我构建的查询在从类表中只选择了一行时起作用,如果一个teacherid与多个类对应,那么我的查询不起作用。

$teachersclassesquery = pg_query($db_handle, "SELECT * FROM quiz_assign WHERE classid = (SELECT classid FROM class WHERE teacherid = '$teacherid')");

如果不改变quiz_assign表以包含teacherid,我找不到这样做的方法。非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

使用in代替=

$teachersclassesquery = pg_query($db_handle, 
  "SELECT * FROM quiz_assign WHERE classid IN (
   SELECT classid FROM class WHERE teacherid = '$teacherid')");