无法连接辅助表中的元素

时间:2015-06-24 14:21:42

标签: mysql

我有两张桌子。

表1:foo

create table foo (id int, name string, description varchar(255));

foo的数据如下:

1, foo1, fooooo1111
2, foo2, fooooo2222
3, foo3, fooooo3333
4, foo4, fooooo4444

表2:栏

create table bar (foo_id int, value string, data varchar(255));

栏的数据如下:

foo1, bar11, {"event":"test"}

foo1, bar22, {"event":"test111"}

foo2, bar33, {"event":"test222"}

我想执行以下查询。

select foo.id As Id, foo.name As Name, bar.* As b from foo LEFT JOIN bar on foo.Id = bar.foo_id;

当我设置列栏时。*作为b,它无法获取数据。我该怎么办?

2 个答案:

答案 0 :(得分:3)

您可以设置列或表的别名。但

bar.* As b

意味着将b设置为表bar所有列的别名,这显然不起作用。

答案 1 :(得分:1)

您可以将列栏。*设置为b,因为这是条形图表中的所有列,您必须指定要设置为 b 的colunm示例:

SELECT foo.id As Id, foo.name As Name, bar.id As b 
FROM   foo 
LEFT JOIN bar on foo.Id = bar.foo_id;

或者如果你想从bar表中获取所有行而不是:

SELECT foo.id As Id, foo.name As Name, bar.*
FROM  foo 
LEFT JOIN bar on foo.Id = bar.foo_id;

由于