위 코드의 첫 번째 쿼리에서는 jobs 表中获取所有行。在第二个嵌套查询中,我试图从 shift 表中获取第一个查询返回的每个 jobsID의 모든 행을 가져옵니다. 하지만 어떤 데이터도 얻지 못합니다. 데이터가 있고 데이터를 반환해야 하지만 어떤 데이터도 얻지 못합니다. 내가 여기서 뭘 잘못하고 있는 걸까? 도와주세요!
데이터가 어떻게 반환되는지, 두 번째 쿼리가 어떻게 작동하는지에 대한 오해가 있는 것 같습니다. 당신에 따르면:
여러 행을 반환합니다. 따라서 첫 번째 쿼리가 작동합니다. 그러나 여러 행을 검색하면 rowss 成为 array。因此,用作下一个查询的输入的 rowss.jobsID 不是数组的正确使用,我希望该表达式的值是 undefined 이 발생하므로 두 번째 쿼리에서는 아무것도 반환하지 않습니다.
증명하려면 다음과 같이 console.log(rowss)를 추가하세요.
으아아아
이 문제를 해결하려면 SQL 함수를 사용하고 조건의 행을 내보내는 join。通过这样做,数据库将连接两个表,然后仅返回满足 where 것이 좋습니다. 결합된 문은 다음과 같아야 합니다.
으아아아
팁: ob's 和 shift 的数据库方案,您可能需要扩展 * 并显式列出所有表名称,例如SELECT jobs.jobsID、jobs.<xyz>、shift.isBooked、shift.fk_job [...] FROM [...]。如果两个表中都有相同名称的列,则可能需要解决由 join 引起的冲突,同时组合列以返回结果,如下所示: SELECT [...] shift.<xyz> as shift_xyz [. ..]来自...[]을 기준으로 합니다.
데이터가 어떻게 반환되는지, 두 번째 쿼리가 어떻게 작동하는지에 대한 오해가 있는 것 같습니다. 당신에 따르면:
여러 행을 반환합니다. 따라서 첫 번째 쿼리가 작동합니다. 그러나 여러 행을 검색하면
rowss
成为array
。因此,用作下一个查询的输入的rowss.jobsID
不是数组的正确使用,我希望该表达式的值是undefined
이 발생하므로 두 번째 쿼리에서는 아무것도 반환하지 않습니다.증명하려면 다음과 같이
으아아아console.log(rowss)
를 추가하세요.이 문제를 해결하려면 SQL 함수를 사용하고 조건의 행을 내보내는
으아아아join
。通过这样做,数据库将连接两个表,然后仅返回满足where
것이 좋습니다. 결합된 문은 다음과 같아야 합니다.팁:
ob's
和shift
的数据库方案,您可能需要扩展*
并显式列出所有表名称,例如SELECT jobs.jobsID、jobs.<xyz>、shift.isBooked、shift.fk_job [...] FROM [...]
。如果两个表中都有相同名称的列,则可能需要解决由join
引起的冲突,同时组合列以返回结果,如下所示:SELECT [...] shift.<xyz> as shift_xyz [. ..]来自...[]
을 기준으로 합니다.또 다른 장점은 두 개가 아닌 하나의 SQL 쿼리만 필요하다는 것입니다.