【问题标题】:mysql join Two tables to get recordsmysql join 两张表获取记录
【发布时间】:2010-01-12 11:55:29
【问题描述】:

大家好,

我有两个表 Inchargeproperty。我的属性表有 1stIncharge、2ndIncharge 和 3rdIncharge 三个字段。 InchargeId 被设置为属性表中所有上述字段的外键..

如何编写一个连接两个表的选择语句..我尝试了一点,但没有结果

select P.Id,P.Name,P.1stIncharge,P.2ndIncharge,P.3rdIncharge,I.Id from 
Property as P join Incharge as I where (\\How to give condition here \\)

Guys 3 个字段 P.1stIncharge、P.2ndIncharge、P.3rdIncharge 有外键 I.Id

编辑:

select P.Id,P.Name,P.1stIncharge,P.2ndIncharge,P.3rdIncharge,I1.Id from 
Property as P 
inner join Incharge as I1 on I1.Id=P.1stIncharge 
inner join Incharge as I2 on I2.Id=P.2ndIncharge  
inner join Incharge as I3 on I3.Id=P.3rdIncharge

and this query working

【问题讨论】:

  • @Saranya:如果 Codesleuth 的解决方案不是您想要的,请考虑编辑您的问题并提供有关预期结果的示例数据。

标签: mysql join foreign-keys


【解决方案1】:

我不确定您在两个表中的外键名称,但我认为您正在寻找这个:

SELECT P.Id, P.Name, P.1stIncharge, P.2ndIncharge, P.3rdIncharge, I.Id
FROM Property as P INNER JOIN Incharge as I ON P.InchargeId = I.Id

【讨论】:

  • @Codesleuth 3 个字段 P.1stIncharge, P.2ndIncharge, P.3rdIncharge 有外键 I.Id
  • @Codesleuth 没有名为 P.InchargeId 的字段
  • 抱歉,您的问题有点含糊。不过,我很高兴你对它进行了排序。
【解决方案2】:

如果您的表名和列名正确,则您提供的解决方案看起来没问题(我重新格式化了它):

SELECT
  P.Id, P.Name, P.1stIncharge, P.2ndIncharge, P.3rdIncharge,
  I1.Id
FROM Property AS P
JOIN Incharge AS I1 ON ( I1.Id = P.1stIncharge )
JOIN Incharge AS I2 ON ( I2.Id = P.2ndIncharge )
JOIN Incharge AS I3 ON ( I3.Id = P.3rdIncharge )

你得到什么样的错误?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-06
    相关资源
    最近更新 更多