我想执行一个返回所有数据的数据库搜索,从而在一行中产生一个foo数据。
我有3张桌子: foo , bar 和 barbar
foo 是主表。来自 bar 的多条记录可能具有引用 foo 的主键的相同外键,而 barbar 中的零或一条记录可以具有外键为 bar 中的每条记录引用 bar 的主键。
我理想的SQL查询看起来像这样,但不起作用:
SELECT
foo.*,
barbar.text AS CONCAT('barbar_', barbar.barPK, '_text'),
bar.text AS CONCAT('bar_', bar.PK, '_text')
FROM
foo
LEFT JOIN bar ON foo.PK = bar.fooPK
LEFT JOIN barbar ON bar.PK = barbar.barPK
ORDER BY foo.PK LIMIT 0, 200
如果只存在一个条/ barbar组合,答案有foo-fields,bar.text和barbar.text。如果存在多个引用foo的bar / barbar组合,我希望为每个组合返回foo-fields和bar / barbar字段(bar.text和barbar.text)。
您认为选择所有数据的最简单方法是什么(限于foo(0,200))?
我希望在一个查询中有可能,我不必再次查询来自 foo 的每200条记录。