【问题标题】:SQL query where data from one table = data from anotherSQL 查询,其中一个表中的数据 = 另一个表中的数据
【发布时间】:2014-01-28 08:36:00
【问题描述】:

我有 2 张桌子:person_concernperson。他们都有一个code columnperson 有一个dept column。我想从person_concern 表中选择数据,其中person 表中的dept 列= 30。

基本上person 表的每一行都有不同的代码,然后将人放在一个部门中。所以我可以在person 表中有多行具有相同的dept 字段。

person_concern 表用于为人们编写问题关注点。它有一个代码可以知道从person 表中获取哪个id 的人。所以我想从person_concern 表中选择数据,其中代码与人员表中的代码匹配,并且该人来自某个dept,例如30。

希望这是有道理的...这是我迄今为止尝试过的,但得到一个无效数字错误。

select
PERSON_CONCERNS.CODE
PERSON_CONCERNS.ENTRY_DATE
PERSON_CONCERNS.ENTRY_OPR
PERSON_CONCERNS.DISCUSSION
from PERSON_CONCERNS
inner join PERSON on PERSON_CONCERNS.CODE = PERSON.CODE
where PERSON.DEPT = 30

【问题讨论】:

  • 可以分享一下表格信息吗? IE。列的数据类型?以及选择列表。
  • 我添加了选择列表。 CODE 是一个数字 ENTRY_DATE 是一个日期 ENTRY_OPR 是一个数字 DISCUSSION 是一个 varchar2 dept 是一个数字。
  • 检查 PERSON 表的 DEPT 列的DATATYPE。你的问题可能是similar
  • 能否也添加列数据类型,即 person.dept 是 int 还是 char 类型?
  • 您缺少一些逗号,使您的查询无效。如果您的实际代码中确实包含它们,请不要再猜测,只需复制/粘贴您实际拥有的内容

标签: sql oracle


【解决方案1】:

我认为您只是缺少字段名称上的逗号,但需要查看您正在运行的实际代码以及创建表语句和一些示例数据以确定。

select
    PERSON_CONCERNS.CODE,
    PERSON_CONCERNS.ENTRY_DATE,
    PERSON_CONCERNS.ENTRY_OPR,
    PERSON_CONCERNS.DISCUSSION,
from PERSON_CONCERNS
    inner join PERSON on PERSON_CONCERNS.CODE = PERSON.CODE
where PERSON.DEPT = 30

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多