有三张表,客人表,定单表,定单详细表,从左到右是一对多的关系
查询某一客人下所有的定单详细,谢谢各位麻烦给个思路,sql我不太懂mysql> SELECT c.code, c.nature, c.admin_client FROM customer c;
+------+--------+--------------+
| code | nature | admin_client |
+------+--------+--------------+
| ABCD | 1      | 1            |
| FESD | 1      | 0            |
| TEMP | 1      | 0            |
+------+--------+--------------+mysql> SELECT o.id, o.date, o.deliveryaddress FROM orderr o;
+------------+------------+-----------------+
| id         | date       | deliveryaddress |
+------------+------------+-----------------+
| CS-0001-06 | 2006-11-24 | bhdfcvbv        |
| CS-0002-06 | 2006-12-06 | gdfgdf          |
| CS-0003-06 | 2006-12-06 | dfsgf           |
+------------+------------+-----------------+mysql> SELECT o.id, o.itemno, o.itemdescription FROM orderdetail o;
+----+---------------------+-----------------+
| id | itemno              | itemdescription |
+----+---------------------+-----------------+
| 15 | GRD34-00001-06-TEMP | fghfh           |
| 16 | HTF43-00001-06-TEMP | fghdfg          |
| 17 | RGD12-00001-06-TEMP | 34dfgdsf        |
+----+---------------------+-----------------+

解决方案 »

  1.   

    表结构如下DROP TABLE IF EXISTS `tempdata`.`customer`;
    CREATE TABLE  `tempdata`.`customer` (
      `code` varchar(4) NOT NULL,
      `name` varchar(40) default NULL,
      `username` varchar(20) default NULL,
      `password` varchar(12) default NULL,
      `attention` varchar(30) default NULL,
      PRIMARY KEY  (`code`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;DROP TABLE IF EXISTS `tempdata`.`orderr`;
    CREATE TABLE  `tempdata`.`orderr` (
      `id` varchar(10) NOT NULL default '',
      `code` varchar(4) NOT NULL,
      `customername` varchar(50) NOT NULL,
      PRIMARY KEY  (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    DROP TABLE IF EXISTS `tempdata`.`orderdetail`;
    CREATE TABLE  `tempdata`.`orderdetail` (
      `id` mediumint(9) NOT NULL auto_increment,
      `orderno` varchar(20) default NULL,
      `isapproved` varchar(1) default '0',
      `isapproveddate` varchar(10) default NULL,
      `completed` varchar(1) default '0',
      PRIMARY KEY  (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
      

  2.   

    select a.username , c.itemdescription  from customer a , orderr b , orderdetail c
    where a.code = b.code and b.id = c.id
    不知道是不是这个意思!
      

  3.   

    select * from orderdetail A where A.id in (select distinct B.id from orderr B where B.code in (select C.code from customer C))