Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在多个表中选择不带联接的PSQL_Sql_Bash_Postgresql_Request_Multi Table - Fatal编程技术网

在多个表中选择不带联接的PSQL

在多个表中选择不带联接的PSQL,sql,bash,postgresql,request,multi-table,Sql,Bash,Postgresql,Request,Multi Table,如果我犯了一些错误,请纠正我的错误 我有两张桌子: 活动:ID/姓名/内容/日期/等。。 文章:ID/姓名/内容/日期/等。。 我创建了一个脚本来删除不在db中的图像,问题是: 我不知道如何检查同一请求中活动和文章的内容,因为下面的请求只是删除了我的活动图片 #!/bin/bash db="intranet_carc_development" user="benjamin" echo "DELETING UNUSED FILES AND IMAGES..." for f in public/

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

我有两张桌子:

活动:ID/姓名/内容/日期/等。。 文章:ID/姓名/内容/日期/等。。 我创建了一个脚本来删除不在db中的图像,问题是: 我不知道如何检查同一请求中活动和文章的内容,因为下面的请求只是删除了我的活动图片

#!/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 "DONE\n\n"
如果是这样:

select content from public.articles, public.activities where content like '%$f%'" 
但我有一个日志错误:


你可以试试类似的东西

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放在一起


希望它能帮助你

两个表都有名为content的字段。您必须在where子句中指定哪一个。实际工作,谢谢
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