mysql查询从两个具有公共字段的表中检索数据

时间:2014-03-28 18:37:04

标签: c# mysql winforms

我有两个名为customerorder的表。他们有一个共同的字段o_id。如何在datagridview

中一起检索两个表中的数据

示例:

  

table -customers

 o_id   |     c_id     |  name    | address  | tel_no
  

table-orders

 o_id   |  starter   | rice     | gravy    | dessert

我希望按如下方式检索详细信息

o_id   |c_id       | name     | address   | tel_no   |  starter  | rice | gravy | dessert

我应该使用哪种JOIN以及如何使用?

我尝试使用以下查询

SELECT * FROM cms.order inner join cms.menu on cms.order.o_id=cms.menu.o_id

但上述代码的问题是o_id列会显示两次。

3 个答案:

答案 0 :(得分:1)

试试这个

SELECT c.o_id, c.c_id, c.name, c.address,
    c.tel_no, o.starter, o.rice, o.gravy. o.desserts
FROM order o INNER JOIN customers c 
ON  o.o_id=c.o_id

<强>输出

o_id   |c_id       | name     | address   | tel_no   |  starter  | rice | gravy | dessert

答案 1 :(得分:0)

如果您只是不希望列显示两次,那么您需要指定要SELECT *的列,而不是SELECT

答案 2 :(得分:0)

您需要指定要检索的列

 SELECT o.o_id, o.c_id, o.name, o.address,
        o.tel_no, m.starter, m.rice, m.gravy. m.desserts
 FROM order o inner join menu m on o.o_id=m.o_id

顺便说一句,您谈论的是客户/订单表,但之后您使用了订单/可更改 这令人困惑。但是,我希望答案足够明确,以突出问题