我有一个名为custom_values的mysql表,其中表中存在两列,一个名为“custome_field_id”,一个名为“value”。
“value”列包含两个不同的值,我需要在页面上拉取和显示。一个值是“订单号”值,另一个值是“日期”值。 “custom_field_id”列显示“Date”值的custom_field_id为33,“order”值为237
我想要做的是构建我的php查询,以便在一个select语句中,我可以显示这两个值。
例如最终得到我可以使用的$ actual_date和$ Order变量。
这是我当前的select语句,此时检索“order”值。但是我需要同时显示两个...我在我的select语句中尝试使用Alias,但它对我没用...
$stmt = $con->prepare("SELECT custom_values.value, issues.subject, issue_statuses.name,
issues.due_date, issues.id as issuesid,
users.firstname, users.lastname
FROM redmine.issues join redmine.projects on issues.project_id=projects.id
left join redmine.users on issues.assigned_to_id=users.id
left join redmine.custom_values ON issues.id=custom_values.customized_id
left join issue_statuses on issues.status_id=issue_statuses.id
where projects.id='".$_SESSION['id']."'
and custom_values.custom_field_id=237 ORDER BY $order ASC");
$stmt->execute();
感谢任何帮助!
答案 0 :(得分:1)
我强烈建议在Ruby中将其构建为Redmine插件。在这个级别处理数据库容易出错;但是,使用Redmine中的CustomField和CustomValue类,将为您完成所有抽象。
您甚至可以使用Redmine API [1]来使用HTTP访问数据。
答案 1 :(得分:1)
SELECT v_order.value my_order
, v_date.value date
, i.subject
, s.name
, i.due_date
, i.id issuesid
, u.firstname
, u.lastname
FROM issues i
JOIN projects p
ON p.id = i.project_id
LEFT
JOIN users u
ON u.id = i.assigned_to_id
LEFT
JOIN custom_values v_order
ON v_order.customized_id = i.id
AND v_order.custom_field_id = 237
LEFT
JOIN custom_values v_date
ON v_date.customized_id = i.id
AND v_date.custom_field_id = 33
LEFT
JOIN issue_statuses s
ON s.id = i.status_id
WHERE p.id = "_SESSION['id']"
ORDER
BY $order ASC
答案 2 :(得分:0)
如果以下情况正确: 在同一个数据库中,如果第二列中有两个不同的值,则有2列首先包含2个不同的数字;因此,每个项目有2行可以拉出
如果我误解了,请纠正我。
尝试以下方法:
... AND ( custom_values.custom_field_id=value_1 OR custom_values.custom_field_id=value_2 ) ORDER ...