mirror of
https://github.com/1Panel-dev/MaxKB.git
synced 2025-12-26 18:32:48 +00:00
28 lines
1.4 KiB
SQL
28 lines
1.4 KiB
SQL
SELECT
|
|
application_chat."id" as chat_id,
|
|
application_chat.abstract as abstract,
|
|
application_chat_record_temp.problem_text as problem_text,
|
|
application_chat_record_temp.answer_text as answer_text,
|
|
application_chat_record_temp.message_tokens as message_tokens,
|
|
application_chat_record_temp.answer_tokens as answer_tokens,
|
|
application_chat_record_temp.run_time as run_time,
|
|
application_chat_record_temp.details::JSON as details,
|
|
application_chat_record_temp."index" as "index",
|
|
application_chat_record_temp.improve_paragraph_list as improve_paragraph_list,
|
|
application_chat_record_temp.vote_status as vote_status,
|
|
application_chat_record_temp.create_time as create_time,
|
|
(CASE WHEN "chat_user".id is NULL THEN application_chat.asker ELSE jsonb_build_object('id',chat_user.id,'username',chat_user.username) END)::json AS asker
|
|
FROM
|
|
application_chat application_chat
|
|
left join chat_user chat_user on chat_user.id::varchar = application_chat.chat_user_id
|
|
LEFT JOIN (
|
|
SELECT
|
|
*,
|
|
CASE
|
|
WHEN array_length( application_chat_record.improve_paragraph_id_list, 1 ) IS NULL THEN
|
|
'{}' ELSE ( SELECT ARRAY_AGG ( row_to_json ( paragraph ) ) FROM paragraph WHERE "id" = ANY ( application_chat_record.improve_paragraph_id_list ) )
|
|
END as improve_paragraph_list
|
|
FROM
|
|
application_chat_record application_chat_record
|
|
) application_chat_record_temp ON application_chat_record_temp.chat_id = application_chat."id"
|
|
${default_queryset} |