我有两张表,没有以标准方式链接(我知道这不是一个好方法)
假设表格的设置如下
表: 组件
字段: cid、cname、rangeid、公司
表:范围
字段: 摆脱,范围名称,年份
虽然这在关系数据库中非常简单,但我不太确定这样做的最干净的方法(重新制作数据库不是一种选择)。
我需要的基本查询是。
select * from component where range.year = '2014' and company = 'xxx'
任何建议将不胜感激。
我有两张表,没有以标准方式链接(我知道这不是一个好方法)
假设表格的设置如下
表: 组件
字段: cid、cname、rangeid、公司
表:范围
字段: 摆脱,范围名称,年份
虽然这在关系数据库中非常简单,但我不太确定这样做的最干净的方法(重新制作数据库不是一种选择)。
我需要的基本查询是。
select * from component where range.year = '2014' and company = 'xxx'
任何建议将不胜感激。
JOIN
是你要找的:
select *
from component
inner join ranges on rid = rangeid and year = 2014
where company = 'xxx'
这是你要找的吗?
SELECT a.cid, a.cname, a.rangeid, a.company, b.rid, b.rangename, b.year
FROM component a
JOIN ranges b ON
b.rid = a.rangeid
WHERE b.year = 2014
AND a.company = 'xxx'
结果
| 客户识别码 | 域名 | 范围 | 公司 | 摆脱 | 范围名称 | 年份 | ------|-----------|---------|---------|-----|----- ------|--------| | 1 | 组件 | 1 | xxx | 1 | 范围 | 2014 |
如果范围 fromcomponent
可能不存在于 中ranges
,则使用LEFT JOIN
.