rows,err:=d.db.QueryContext(ctx,"SELECT `id`, `name`, `type`, `identifier_filter`, `config` FROM `idp` WHERE "+strings.Join(where," AND ")+" ORDER BY `id` ASC",
SELECT
id,
name,
type,
identifier_filter,
config
FROM idp
WHERE `+strings.Join(where," AND ")+` ORDER BY id ASC`,
where=append(where,fmt.Sprintf("memo.visibility in (%s)",strings.Join(list,",")))
where=append(where,fmt.Sprintf("`memo`.`visibility` in (%s)",strings.Join(list,",")))
}
}
orders:=[]string{"pinned DESC"}
orders:=[]string{"`pinned` DESC"}
iffind.OrderByUpdatedTs{
iffind.OrderByUpdatedTs{
orders=append(orders,"updated_ts DESC")
orders=append(orders,"`updated_ts` DESC")
}else{
}else{
orders=append(orders,"created_ts DESC")
orders=append(orders,"`created_ts` DESC")
}
}
orders=append(orders,"id DESC")
orders=append(orders,"`id` DESC")
query:=`
query:="SELECT `memo`.`id` AS `id`, `memo`.`creator_id` AS `creator_id`, UNIX_TIMESTAMP(`memo`.`created_ts`) AS `created_ts`, UNIX_TIMESTAMP(`memo`.`updated_ts`) AS `updated_ts`, `memo`.`row_status` AS `row_status`, `memo`.`content` AS `content`, `memo`.`visibility` AS `visibility`, MAX(CASE WHEN `memo_organizer`.`pinned` = 1 THEN 1 ELSE 0 END) AS `pinned`, GROUP_CONCAT(`resource`.`id`) AS `resource_id_list`, (SELECT GROUP_CONCAT(`memo_id`,':',`related_memo_id`,':',`type`) FROM `memo_relation` WHERE `memo_relation`.`memo_id` = `memo`.`id` OR `memo_relation`.`related_memo_id` = `memo`.`id` ) AS `relation_list` FROM `memo` LEFT JOIN `memo_organizer` ON `memo`.`id` = `memo_organizer`.`memo_id` LEFT JOIN `resource` ON `memo`.`id` = `resource`.`memo_id` WHERE "+strings.Join(where," AND ")+" GROUP BY `memo`.`id` ORDER BY "+strings.Join(orders,", ")
SELECT
memo.id AS id,
memo.creator_id AS creator_id,
UNIX_TIMESTAMP(memo.created_ts) AS created_ts,
UNIX_TIMESTAMP(memo.updated_ts) AS updated_ts,
memo.row_status AS row_status,
memo.content AS content,
memo.visibility AS visibility,
MAX(CASE WHEN memo_organizer.pinned = 1 THEN 1 ELSE 0 END) AS pinned,
if_,err:=tx.ExecContext(ctx,"DELETE FROM `memo_relation` WHERE `memo_id` NOT IN (SELECT `id` FROM `memo`) OR `related_memo_id` NOT IN (SELECT `id` FROM `memo`)");err!=nil{
DELETE FROM memo_relation
WHERE memo_id NOT IN (SELECT id FROM memo) OR related_memo_id NOT IN (SELECT id FROM memo)
query:=fmt.Sprintf("SELECT %s FROM `resource` WHERE %s GROUP BY `id` ORDER BY `created_ts` DESC",strings.Join(fields,", "),strings.Join(where," AND "))
SELECT
%s
FROM resource
WHERE %s
GROUP BY id
ORDER BY created_ts DESC
`,strings.Join(fields,", "),strings.Join(where," AND "))
query:="SELECT `id`, `username`, `role`, `email`, `nickname`, `password_hash`, `avatar_url`, UNIX_TIMESTAMP(`created_ts`), UNIX_TIMESTAMP(`updated_ts`), `row_status` FROM `user` WHERE "+strings.Join(where," AND ")+" ORDER BY `created_ts` DESC, `row_status` DESC"