我有两个表,它们没有以标准方式链接(我知道这不是一个好方法)
可以说表格的设置如下
表:
零件
领域:
cid,cname,rangeid,公司
表:范围
领域:
摆脱,范围名称,年份
尽管在关系型数据库中这很简单,但我不太确定否则会采用的最干净方法(重新构建数据库不是一种选择)。
我需要的基本查询是。
select * from component where range.year = '2014' and 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'
结果
| CID | CNAME | RANGEID |公司简介RID | RANGENAME |年|
------ | ------------- || --------- | --------- | ----- | ----- ------ | ------ |
| 1 |组件| 1 | xxx | 1 |范围| 2014 |
Demo
如果
component
中可能不存在来自ranges
的范围,请使用LEFT JOIN
。