我想要做的是查询一个包含关于一个人的自定义数据的表并将其放入字段中,但是我将每个单独的字段作为我的回报中的记录。
我正在使用的当前语句是
SELECT s.fname, s.lname, s.email, s.mobile, s.country, cf.name, ca.value FROM
standard AS s
INNER JOIN people AS p ON
(s.pid = p.pid)
INNER JOIN custom_answers AS ca ON
(ca.pid = p.pid)
INNER JOIN custom_fields AS cf ON
(cf.fieldid = ca.fieldid)
WHERE p.acctid = 'xxxxxxxxxx'
这给出了 22,000 行的结果集,而我只寻找 900 行。
数据输出的一个例子是
fname | lname | email | mobile | country | name | value
tom | smith | t@t | 0412 | AU | state | Vic
tom | smith | t@t | 0412 | AU | position | Dept Head
tom | smith | t@t | 0412 | AU | guest | John Smith
mick | jones | m@j | 0411 | AU | postnom | AOC
mick | jones | m@j | 0411 | AU | state | NSW
mick | jones | m@j | 0411 | AU | postcode | 2000
而我希望它输出的是
fname | lname | email | mobile | country | state | position | guest | postnom | postcode
tom | smith | t@t | 0412 | AU | Vic | Dept Head | John Smith | null | null
mick | jones | m@j | 0411 | AU | NSW | null | null | AOC | 2000
可能会或可能不会导致复杂化的是,每个人的自定义字段的数量并不相同。有些可能只有少数或自定义字段,但有些可能超过 30 个。