1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
import { eq, desc, count } from "drizzle-orm";
import {
techVendors,
techVendorPossibleItems
} from "@/db/schema/techVendors";
/**
* 기술영업 벤더 가능 아이템 목록 조회 (조인 포함)
*/
export async function selectTechVendorPossibleItemsWithJoin(
tx: any,
where: any,
orderBy: any[],
offset: number,
limit: number
) {
return await tx
.select({
id: techVendorPossibleItems.id,
vendorId: techVendorPossibleItems.vendorId,
vendorCode: techVendors.vendorCode,
vendorName: techVendors.vendorName,
techVendorType: techVendors.techVendorType,
itemCode: techVendorPossibleItems.itemCode,
createdAt: techVendorPossibleItems.createdAt,
updatedAt: techVendorPossibleItems.updatedAt,
})
.from(techVendorPossibleItems)
.innerJoin(techVendors, eq(techVendorPossibleItems.vendorId, techVendors.id))
.where(where)
.orderBy(...(orderBy || [desc(techVendorPossibleItems.createdAt)]))
.limit(limit)
.offset(offset);
}
/**
* 기술영업 벤더 가능 아이템 총 개수 조회 (조인 포함)
*/
export async function countTechVendorPossibleItemsWithJoin(tx: any, where?: any) {
const [result] = await tx
.select({ count: count() })
.from(techVendorPossibleItems)
.innerJoin(techVendors, eq(techVendorPossibleItems.vendorId, techVendors.id))
.where(where);
return result.count;
}
|