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
FROMidp
WHERE`+strings.Join(where, " AND ")+`ORDERBYidASC`,
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,", ")
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{
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
FROMresource
WHERE%s
GROUPBYid
ORDERBYcreated_tsDESC
`,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"