我有一个名为 custom_values 的 mysql 表,其中表中存在两列,一列称为"custome_field_id",另一列称为"值"。
"值"列包含两个不同的值,我需要拉取并显示在我的页面上。一个值是"订单号"值,另一个是"日期"值。"custom_field_id"列显示"日期"值的custom_field_id 33,"订单"值的 237
我想做的是构建我的 php 查询,以便在一个选择语句中,我可以显示这两个值。
例如,最终得到一个 $actual_date 和我可以使用的$Order变量。
这是我当前的选择语句,此时检索"订单"值。但我需要同时展示两者...我尝试在我的选择语句中使用别名,但它对我不起作用......
$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();
任何帮助不胜感激!
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
我强烈建议在Ruby中将其构建为Redmine插件。在此级别处理数据库容易出错;但是,在Redmine中使用CustomField和CustomValue类将为您完成所有抽象。
您甚至可以使用 Redmine API [1] 通过 HTTP 访问数据。
[1] http://www.redmine.org/projects/redmine/wiki/Rest_api
如果以下情况正确:在同一个数据库中,您有 2 列,首先包含 2 个不同的数字,如果第二列中有两个不同的值;因此每个项目有 2 行要拉出
如果我误会了,请纠正我。
请尝试以下操作:
... AND ( custom_values.custom_field_id=value_1 OR custom_values.custom_field_id=value_2 ) ORDER ...