【发布时间】:2021-09-13 08:47:42
【问题描述】:
我遇到以下问题: 架构:
model company {
id Int @id @default(autoincrement())
name String?
services company_service[]
...
}
model company_service {
companyId Int @map("company_id")
serviceId Int @map("service_id")
company company? @relation(fields: [companyId], references: [id])
service service? @relation(fields: [serviceId], references: [id])
@@id([companyId, serviceId])
}
model service {
id Int @id @default(autoincrement())
name String?
companies company_service[]
jobs job[]
}
model job {
id Int @id @default(autoincrement())
customerId Int? @map("customer_id")
serviceId Int? @map("service_id")
addressId Int? @map("address_id")
status Int? @default(1) // 1: Available, 2: In Progress, 3:Cancel ,4: Completed,
customer customer? @relation(fields: [customerId], references: [id])
service service? @relation(fields: [serviceId], references: [id])
}.
我需要执行查询:
SELECT company_id, count(j.status) as numberOfWorkComplete
FROM company_service sv, job j
WHERE sv.service_id = j.service_id and j.status = 4
GROUP BY company_id
我有上述查询的结果,但是有什么方法我仍然可以得到这个结果而无需编写 sql?谢谢
【问题讨论】: