sql - 在硬编码值上加入 2 个表
问题描述
我不太明白“加入”的某些部分是如何工作的。
我有 2 个表需要在某些列上加入。
让我们说以下关系:
TabA ( IDA, IDB, Label, isActive)
TabB (IDB, INFORMATION)
在这里,我们加入他们IDB
。但是如果我们想加入isActive = 1
呢?
会发生什么?
Select *
from TabA
left join TabB
on TabA.IDB = TabB.IDB
and isActive = 1
我得到某种笛卡尔积,但我不明白为什么也不明白什么逻辑?
解决方案
你可以加入两个表,它们有一个共同的字段,比如这里你有 IDB,但 isactive 不属于这两个表
您可以在 where 子句中使用 isactive :
Select TabA.* from TabA
left join TabB
on TabA.IDB = TabB.IDB
where TabA.isactive = 1
推荐阅读
- algorithm - 硬币变化问题的变化背后的想法是什么?
- node.js - Node js 逐行模块
- php - 如何在这个 sql 查询中获得前 5 种食物
- c# - 如何解决从@Html.CheckBoxFor 自动生成的隐藏表单字段
- image - Xamarin 表单:基于字符串值隐藏 Flowlistview 项目,包括它在 UI 中的空间
- sql - 我想优化这个查询
- c# - 单击复选框或其文本时,如何设置选中的winform checkboxlist项目?
- r - if (pvals[minp] <= pent) { 中的错误:参数长度为零
- laravel - 如何接受或拒绝用户在 eloquent 模型上所做的更改?
- python-3.x - Python:写入文件失败且没有错误 - 获取一个空文件