在多个表中选择不连接 PSQL



(如果我犯了一些错误,请纠正我(

我有2张桌子:

  • 活动 : ID/姓名/内容/日期/等
  • 文章 : ID/姓名/内容/日期/等

我创建了一个脚本来删除不在数据库中的图像,问题是: 我不知道如何在同一请求上检查活动和文章的内容,因为这个请求只是删除了我的活动图像。

#!/bin/bash
db="intranet_carc_development"
user="benjamin"
echo "DELETING UNUSED FILES AND IMAGES..."
for f in public/uploads/files/*
do
if [[ -f "$f" ]]
then
f="$(basename "$f")"
psql $db $user -t -v "ON_ERROR_STOP=1" 
-c "select content from public.articles where content like '%$f%'" | grep . 
&& echo "exist" 
|| rm public/uploads/files/$f
fi
done
printf "DONEnn"

如果捆绑类似以下内容:

select content from public.articles, public.activities where content like '%$f%'" 

但我有这个日志错误

ERROR:  column reference "content" is ambiguous

你可以尝试类似的东西

WITH artcontent AS (
SELECT content
FROM public.articles
),
actcontent AS (
SELECT content
FROM public.activities
),
merge AS (
SELECT * FROM artcontent 
UNION ALL
SELECT * FROM actcontent 
)
SELECT *
FROM merge

UNION ALL 声明将把您的两个结果放在一起 artcontent(来自文章(和 actcontent(来自活动(。

希望对您有所帮助!

相关内容

  • 没有找到相关文章

最新更新