【问题标题】:Best practice for displaying data from two tables显示两个表中数据的最佳实践
【发布时间】:2012-12-12 06:05:36
【问题描述】:

我有两张桌子,并且一直得到相同的结果。结果不断给我列 meetingDepts 中的 deptID 结果“1、2、3”,而不是“Admin、Marketing、Accounting”。 这些是表格:

会议

会议 ID、会议日期、会议部门

部门

部门ID,部门名称

我已经创建了一个 sql 语句:

 SELECT * FROM Meeting INNER JOIN Departments 
  ON Meeting.meetingDepts =  Departments.deptID

我已经经历了如此多的代码迭代,因此我没有任何值得放在这里的东西。我已经搜索了数百个帖子,但没有找到我要查找的内容,或者至少没有想到要搜索的正确关键字。

我想我正在寻找“你会做什么?”因为我对此没有想法。非常感谢您的帮助。


我今天用下面的代码更接近了一点,但它给了我数组的整数。我需要能够输出部门名称:

$meetings = explode(", ", $row_rsCurMeet['meetDepts']); $tmp = 数组(); foreach ($meetings 作为 $meeting) $tmp[] = $meeting['deptName']; //不回显名字 echo implode('    ',$tmp); // 只回显 meetDepts 编号

【问题讨论】:

  • 您使用哪一列在页面上显示部门名称?应该是deptName
  • 阿司匹林...感谢您的回复。我尝试了一个 foreach 循环,但只到达了第一个 deptName 条目。我没有运气使用这篇文章中的信息:stackoverflow.com/questions/357122/…
  • @Torrey Shoaff,开始使用 SQL 查询工具来检查您的 SQL 代码和结果。它会告诉您meetingDepts 列包含与deptID 相同的数字,并且-经常提到-deptNames 是您正在寻找的。 @Jack Maney:你需要相当多的想象力、同理心和慈善才能得到这个问题。但这是可能的;-)
  • @Torrey Shoaff 您的 SQL 可能没问题,请说明您如何在 php 端显示值。
  • 谢谢SWeko。这是我所能得到的。 'code' $row_rsCurMeet['deptName']) { print "$val, "; }?>'code' 这实际上打印了相应 ID 的第一个 deptName 但它执行了 3 次而不是其他团队。不确定这是否正确发布...对不起。

标签: php sql


【解决方案1】:

您应该改用deptName

SELECT deptName
    FROM Departments
INNER JOIN Meeting ON Meeting.meetingDepts = Departments.deptID

问题是meetingDepts只有id。

【讨论】:

    【解决方案2】:

    使用这个:

    SELECT deptName FROM Meeting INNER JOIN Departments ON Meeting.meetingDepts = Departments.deptID
    

    【讨论】:

      【解决方案3】:

      试试这个查询

      SELECT * FROM Meeting INNER JOIN Departments ON Meeting.meetingDepts = Departments.deptName
      

      那应该给你部门名称。

      【讨论】:

      • 很确定 meetingDepts 包含部门名称的 ID
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-16
      • 1970-01-01
      • 2023-03-03
      • 2020-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多