【发布时间】:2022-01-18 14:49:05
【问题描述】:
如果删除部分AND course.publish="true",下面给出的查询将给出结果。但我想检查此连接查询的两个条件,即course 表的deleted_at 列具有null 值和publish course 表的列有值true。我该如何解决这个问题?
DB::select('SELECT users.id as user_id,users.name,course.id as course_id,
course."courseDisplayName",course.created_at,
subjects.id as subject_id,subjects.subject
FROM users
INNER JOIN course ON course."userId"=users.id AND course.deleted_at is null AND course.publish="true"
INNER JOIN subjects ON course."subjectId"= subjects.id');
WHERE course.deleted_at is null AND course.publish 添加时出错:
"message": "SQLSTATE[42601]: Syntax error: 7 ERROR: syntax error at or near \"INNER\"\nLINE 16: INNER JOIN subjects ON course.\"subjectId\"= subjects.id....\n ^ (SQL: SELECT users.id as user_id,\r\n users.name,\r\n course.id as course_id,\r\n course.\"courseDisplayName\",\r\n course.deleted_at,\r\n subjects.id as subject_id,\r\n subjects.subject\r\n FROM users \r\n INNER JOIN course ON course.\"userId\"=users.id WHERE course.deleted_at is null AND course.publish\r\n INNER JOIN subjects ON course.\"subjectId\"= subjects.id)",
【问题讨论】:
-
不确定,但我认为 postgres 可以将此作为条件处理 ``` INNER JOIN course ON course."userId"=users.id AND course.deleted_at 为 null AND course.publish) ```
-
它正在工作。谢谢
标签: php sql postgresql join sql-view