- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
基本上,我想要的是,如果 tableB 中有一条类型为“X”的记录,我想查看它,否则我不想查看,但我想要 tableA 中的所有记录。
我知道我可以通过将 tableB.type = 'X' 放在 LEFT OUTER JOIN ON 子句中来完成此操作,但我不能这样做,因为我只能使用 where 条件,因为我正在使用一个程序的受限查询管理器,我不会命名,但我绝对讨厌。 :)
SELECT *
FROM tableA
LEFT OUTER JOIN ON tableA.ID = tableB.ID
WHERE tableB.type = 'X'
我该如何实现?
编辑
我已经试过了,但我仍然没有从表 A 中获取所有记录。我正在 SQL Server 上对此进行测试,以避免长时间等待我的查询在生产系统上运行。如果有帮助,我很确定生产系统正在使用 Oracle。
SELECT *
FROM tableA LEFT OUTER JOIN ON tableA.ID = tableB.ID
WHERE tableB.type = 'X' OR tableB.type IS NULL
最佳答案
检查表 B 中的 null
:
SELECT *
FROM tableA LEFT OUTER JOIN ON tableA.ID = tableB.ID
WHERE tableB.type = 'X'
OR tableB.type IS NULL
这会在连接匹配时从两个表中获取所有内容,而在表 B 中没有相应记录时从表 A 中获取所有内容。
如果 type
自然可以为 null
,您需要将条件更改为更合理的内容:
SELECT *
FROM tableA LEFT OUTER JOIN ON tableA.ID = tableB.ID
WHERE tableB.type = 'X'
OR tableB.ID IS NULL
假设ID
是主键,自然不能为null
,会得到相同的结果。
关于sql - 如何使用左外连接和 tableB 的 where 条件从 tableA 中获取所有记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1488113/
全部, 我正在复习一些基本的 MySQL JOIN 教程。杰夫·阿特伍德 gives an example在他的博客上是这样的: SELECT * FROM TableA LEFT OUTER JOI
我有一个大表,我正在尝试添加一个字段,到目前为止,由于我正在处理的表大小,它的效率要高得多 CREATE TABLE A LIKE B; INSERT B SELECT * FROM A; 进行更改时
http://sqlfiddle.com/#!18/d1cf0/6 TABLE HEADER ( [HeaderID] VARCHAR(3), [description] VARC
我是一名刚学数据库的学生... 我有两张 table 。用户和行程。 每当将新的行程添加到数据库时,我希望它触发“totalMiles”列中用户表的更新。我希望它采用 Trip.userID 并仅更改
我在 Codeigniter 工作。我在 MySql 数据库“menus”和“menus_child”中有两个表。结构是: table: menus 编号 |菜单名称 1 |产品 table: men
我有两张 table create tableA ( idA int primary key, idB foreign key references tableB(idB) ); cr
我有一个表图片 create table pictures ( picture_id int(10) unsigned NOT NULL AUTO_INCREMENT, mall_id flo
这个问题已经有答案了: cartesian product in pandas (13 个回答) 已关闭 4 年前。 我想将两个数据帧合并在一起以模仿“select * from A, B”,例如,表
这是一个有效的 mysql 语句吗? select * from TableA , TableB ; 如果不是,选择这两个表的正确 mysql 语句是什么。 为什么我认为这有问题,因为我写了一个 my
我的 TableA 有数十万行,而且大小还在增加。没有分区,速度下降得非常明显。 因此,我创建了一个名为 TableB 的新表,其中的列与 Oracle SQL Developer 中的 TableA
当我按如下方式查询 mysql 数据库时,出现如标题所示的错误。不知道为什么,问题出在 group by 语句上,但我尝试了几种变体,但似乎没有任何效果。 SELECT TableA.Name, DA
我有两张 table 。 msUser 和 msUserChar。我在 msUser 和 msUserChar 之间建立了关系,其中 msUser 中的 PK 是 msUserChar 中的 FK 我
我正在创建一个数据库,并且我有表 ProjectDetails.TimeCardExp 和 ProjectDetails.Project。 TimeCardExp 表有一列 ExpenseDate,在
我正在尝试弄清楚如何使用 Postgresql 8 定义数据库的模式。 我有 2 个表: 期刊,书籍 定义我拥有的出版物 Journal: id_j, name, issn, other fields
我有一个包含几张工作表的工作簿,每张包括一个列表对象(一个表格) 我的目的是从不同的列表对象中获取数据并将其粘贴到另一个列表对象中。或者更准确地说,在另一个表中一个接一个地复制几个表的几列。 到目前为
基本上,我想要的是,如果 tableB 中有一条类型为“X”的记录,我想查看它,否则我不想查看,但我想要 tableA 中的所有记录。 我知道我可以通过将 tableB.type = 'X' 放在 L
我需要为 tableB 的每个值选择并插入 tableA 的值。有什么建议么? 所以基本上结果表将是这样的: 1 | 1 1 | 2 1 | 3 2 | 1 2 | 2 2 | 3 最佳答案 这听起来
我的数据是这样的: TableA - id INT - is_in_table_b BOOL TableB - id INT - table_a_id INT 我在重组数据结构时不小心删除了开发机器上
1st question: 我试图将表 B 中的字段插入到表 A 中,其中我有一个条件并为列 A 设置了一个案例,但它不起作用。是否可以在不更新的情况下做到这一点? insert into table
我正在尝试在 JOIN 与第二个表之后更新表。 UPDATE 仅适用于第一个 SET。 代码如下: update Table_A join Table_B on Table_A.date = Tab
我是一名优秀的程序员,十分优秀!