如何在SQL查询中添加带有嵌套的where子句?
我有这样的查询-
select unnest(string_to_array(news_article.news_category_id, ',')):: int rowz
from news_article) where rowz=1;
由于将rowz = 1放入查询中,因此该查询无法正常工作?如果我只想要在嵌套后rowz = 1的结果该怎么办。
当我这样做时-
从news_article中选择unnest(string_to_array(na.news_category_id,’,’)):: int rowz;
我的桌子是-
Create table news_article(
id bigserial NOT NULL PRIMARY KEY,
news_headline character varying(70) NOT NULL,
news_content_src character varying(240) NOT NULL,
news_language_id integer NOT NULL,
news_category_id character varying(50) NOT NULL,
news_publisher_id integer NOT NULL references news_publishers(pub_id),
news_date timestamp WITH TIME ZONE Default now()
);
然后它给了我这个结果-
rowz
1
2
1
3
2
-
这回答了您的问题:
SELECT * FROM (SELECT unnest(string_to_array(news_article.news_category_id, ',')):: int rowz FROM news_article) AS categories WHERE rowz = 1;
诀窍是
unnest
将数组放入一组记录中,然后将其用作子查询。但是,结果看起来很愚蠢。您是否想要新闻文章的所有详细信息,这些新闻中
news_category_id = 1
可能包含其他类别?在这种情况下:SELECT a.* FROM news_article a JOIN (SELECT id, unnest(string_to_array(news_article.news_category_id, ',')):: int rowz FROM news_article) AS c ON c.id = a.id WHERE c.rowz = 1;
-
如何在JPA 2.0中编写带有where子句的MAX查询?
2021-02-01 关注 0 浏览130 1答案
-
如何通过使用Arel在带有'or'和'and'子句的SQL查询中正确添加括号?
2021-03-27 关注 0 浏览170 1答案
-
Laravel:如何使用查询生成器添加where子句?
2021-05-10 关注 0 浏览88 1答案
-
如何在MySQL Insert语句中添加where子句?
2021-02-02 关注 0 浏览122 1答案
-
如何在 SQL 字符串中添加“if 子句”?
2022-07-28 关注 0 浏览11 1答案
-
如何在Firebase Android中执行SQL IN子句查询
2021-01-29 关注 0 浏览95 1答案
-
如何在django管理界面中添加带有超链接的自定义列?
2021-02-02 关注 0 浏览130 1答案
-
大表中的SQL随机行(带有where子句)
2021-04-20 关注 0 浏览84 1答案
-
如何使用数千个WHERE子句优化SQL查询
2021-07-06 关注 0 浏览54 1答案
-
带有单个where子句的Oracle sql MERGE INTO
2021-05-10 关注 0 浏览92 1答案