我有这个问题:
两张表:
tbl_suppliers
id* (int),
name (string),
activity1 (int),
activity2 (int),
activity3 (int)
tbl_activity
id* (int),
description (string)
两个表之间存在一种“一对多”的关系:
tbl_activity
(one) --> tbl_suppliers
(many) ;这意味着每个供应商都可以为每个活动或什至没有活动(无 id)填写所有三个 ID。
我需要显示tbl_suppliers
带有列name
, activity1
, activity2
,的记录activity3
。
在 SQL 中,可以使用以下查询:
SELECT s.id, s.name, a1.description activitystring1,
a2.description activitystring2, a3.description activitystring3
FROM tbl_suppliers s
LEFT JOIN tbl_activity a1 ON (s.activity1=a1.id)
LEFT JOIN tbl_activity a2 ON (s.activity2=a2.id)
LEFT JOIN tbl_activity a3 ON (s.activity3=a3.id)
我不能在 HQL 中做同样的事情。我应该映射三倍“一对多”的活动字段吗?