78 lines
1.8 KiB
JavaScript
78 lines
1.8 KiB
JavaScript
export const LIST_BY_ATTRIBUTE_ID = `
|
|
SELECT
|
|
av.id,
|
|
av.attribute_id AS attributeId,
|
|
av.value,
|
|
av.sort,
|
|
(
|
|
SELECT COUNT(DISTINCT aav.article_id)
|
|
FROM articleattributevalue aav
|
|
INNER JOIN article a ON a.id = aav.article_id
|
|
WHERE aav.attributevalue_id = av.id
|
|
AND a.company_id = an.company_id
|
|
) AS articleCount
|
|
FROM attributevalue av
|
|
INNER JOIN attributename an ON an.id = av.attribute_id
|
|
WHERE av.attribute_id = @attributeId AND an.company_id = @companyId
|
|
ORDER BY av.sort ASC, av.id ASC
|
|
`;
|
|
|
|
export const LIST_IDS_BY_ATTRIBUTE_ID = `
|
|
SELECT av.id
|
|
FROM attributevalue av
|
|
INNER JOIN attributename an ON an.id = av.attribute_id
|
|
WHERE av.attribute_id = @attributeId AND an.company_id = @companyId
|
|
ORDER BY av.sort ASC, av.id ASC
|
|
`;
|
|
|
|
export const GET_BY_ID_AND_COMPANY = `
|
|
SELECT
|
|
av.id,
|
|
av.attribute_id AS attributeId,
|
|
av.value,
|
|
av.sort,
|
|
an.company_id AS companyId
|
|
FROM attributevalue av
|
|
INNER JOIN attributename an ON an.id = av.attribute_id
|
|
WHERE av.id = @id AND an.company_id = @companyId
|
|
`;
|
|
|
|
export const GET_BY_ATTRIBUTE_AND_VALUE = `
|
|
SELECT
|
|
av.id,
|
|
av.attribute_id AS attributeId,
|
|
av.value,
|
|
av.sort
|
|
FROM attributevalue av
|
|
WHERE av.attribute_id = @attributeId AND av.value = @value
|
|
`;
|
|
|
|
export const GET_NEXT_SORT = `
|
|
SELECT ISNULL(MAX(sort), -1) + 1 AS sort
|
|
FROM attributevalue
|
|
WHERE attribute_id = @attributeId
|
|
`;
|
|
|
|
export const CREATE = `
|
|
INSERT INTO attributevalue (attribute_id, value, sort)
|
|
OUTPUT INSERTED.id, INSERTED.attribute_id AS attributeId, INSERTED.value, INSERTED.sort
|
|
VALUES (@attributeId, @value, @sort)
|
|
`;
|
|
|
|
export const UPDATE_BY_ID = `
|
|
UPDATE attributevalue
|
|
SET value = @value, sort = @sort
|
|
WHERE id = @id
|
|
`;
|
|
|
|
export const UPDATE_SORT = `
|
|
UPDATE attributevalue
|
|
SET sort = @sort
|
|
WHERE id = @id
|
|
`;
|
|
|
|
export const DELETE_BY_ID = `
|
|
DELETE FROM attributevalue
|
|
WHERE id = @id
|
|
`;
|