小编Pas*_*ted的帖子

将两个单独的SQL查询的结果与"OR"组合在一起

框架:Rails 2.3.8数据库; PostgreSQL的

我目前有以下SQL语句(由Rails生成)

SELECT "outbreaks".* FROM "outbreaks" INNER JOIN "bacterial_agents" ON bacterial_agents.outbreak_id = outbreaks.id INNER JOIN "bacteria" ON "bacteria".id = "bacterial_agents".bacterium_id WHERE (bacteria.name ILIKE E'%VTEC O157%')

SELECT "outbreaks".* FROM "outbreaks" INNER JOIN "viral_agents" ON viral_agents.outbreak_id = outbreaks.id INNER JOIN "virus" ON "virus".id = "viral_agents".virus_id WHERE (virus.name ILIKE E'%NOROVIRUS%')
Run Code Online (Sandbox Code Playgroud)

使用下面的表(我已经跳过了未使用的属性,并且布局/键命名归结为Rails约定)

outbreaks
  id

bacterial_agents
  id
  outbreak_id
  bacterium_id

bacteria
  id
  name

viral_agents
  id
  outbreak_id
  virus_id

viruses
  id
  name
Run Code Online (Sandbox Code Playgroud)

任何想法如何加入上述两个带有"OR"条件的SQL语句,以选择与细菌表相关的爆发记录,其中的细菌名称就像"VTEC O157"或与病毒表中的病毒相关.名字就像"NOROVIRUS"?

*编辑

升级关于SQL的Rails生成的澄清 - 它当前输出以下SQL

SELECT "outbreaks".* FROM "outbreaks" INNER JOIN "bacterial_agents" ON …
Run Code Online (Sandbox Code Playgroud)

sql postgresql

1
推荐指数
1
解决办法
1740
查看次数

标签 统计

postgresql ×1

sql ×1