表order(rec_id,uer_id,session_id,gift_name,codecolor_id,size_id,et_price,curr_price,trans_price)
表gift(id,gift_name,pic,desc,price,point,status,code)
表gift_detail(id,code,color_id,size_id,stock,warn_stock,pic)
其中三个表里的code是相同的意思,但是能重复,我怎么通过三个表的关联查出不重复的记录?求 解
 现在我的问题是每次连接查询出来的都有两条差不多一样的,只有表gift部分的是不同,所以出来的记录不是我要的,我要一条它会查出两条

解决方案 »

  1.   

    贴建表及插入记录的SQL,及要求结果出来看看
      

  2.   

    记录是别人插进去的,我管不了,我需要的是唯一的session_id 或user_id 查出来的记录只有一条来自gift,我现在查出来gift表里的记录有不同的,我不知道是不是记录的问题,我把sql运行的结果拿出来
    141  511000001  903575c610ba668c5b25230d2c16e627  时尚置物桶  XZ001  1  1  0  1  4000  NULL  1     NULL  NULL  0  NULL  0  162  ZYSD  0  XZ001  1  1  0  1  0     2  4  时尚置物桶  gift/image001.png     1  4000  2011-07-11 19:56:37  0  9180098031  XZ001
    141  511000001  903575c610ba668c5b25230d2c16e627  时尚置物桶  XZ001  1  1  0  1  4000  NULL  1     NULL  NULL  0  NULL  0  162  ZYSD  0  XZ001  1  1  0  1  0     3  4  时尚置物桶  gift/image003.png  NULL  NULL  4000  2011-07-13 18:17:49  0  9180098035  XZ001
      

  3.   

    -- phpMyAdmin SQL Dump
    -- version 3.1.3.1
    -- http://www.phpmyadmin.net
    --
    -- 主机: localhost
    -- 生成日期: 2011 年 07 月 14 日 08:46
    -- 服务器版本: 5.1.33
    -- PHP 版本: 5.2.9SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
    /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
    /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
    /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
    /*!40101 SET NAMES utf8 */;--
    -- 数据库: `fairwhale`
    ---- ----------------------------------------------------------
    -- 表的结构 `gift_detail`
    --CREATE TABLE IF NOT EXISTS `gift_detail` (
      `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
      `ckdm` varchar(128) DEFAULT NULL COMMENT '仓库代码',
      `kwdm` varchar(128) DEFAULT NULL COMMENT '库位代码',
      `spdm` varchar(128) DEFAULT NULL COMMENT '商品代码',
      `gg1dm` varchar(128) DEFAULT NULL COMMENT '颜色',
      `gg2dm` varchar(128) DEFAULT NULL COMMENT '尺码',
      `sl` int(11) DEFAULT NULL COMMENT '数量 ',
      `stock` int(11) NOT NULL COMMENT '商品库存',
      `warn_stock` int(11) NOT NULL COMMENT '预警库存',
      `pic` varchar(128) NOT NULL COMMENT '图片',
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=664 ;--
    -- 导出表中的数据 `gift_detail`
    ---- phpMyAdmin SQL Dump
    -- version 3.1.3.1
    -- http://www.phpmyadmin.net
    --
    -- 主机: localhost
    -- 生成日期: 2011 年 07 月 14 日 08:49
    -- 服务器版本: 5.1.33
    -- PHP 版本: 5.2.9SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
    /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
    /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
    /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
    /*!40101 SET NAMES utf8 */;--
    -- 数据库: `fairwhale`
    ---- ----------------------------------------------------------
    -- 表的结构 `gift`
    --CREATE TABLE IF NOT EXISTS `gift` (
      `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
      `pid` varchar(50) NOT NULL,
      `mc` varchar(40) DEFAULT NULL,
      `pic` varchar(255) DEFAULT NULL,
      `desc` text COMMENT '描述',
      `price` double DEFAULT NULL,
      `point` double DEFAULT NULL COMMENT '积分',
      `LastChanged` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
      `status` int(11) NOT NULL COMMENT '状态 0:下架 1:上架',
      `kh` varchar(255) NOT NULL COMMENT '款号',
      `dm` varchar(64) NOT NULL COMMENT '商品代码',
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=94 ;--
    -- 导出表中的数据 `gift`
    --INSERT INTO `gift` (`id`, `pid`, `mc`, `pic`, `desc`, `price`, `point`, `LastChanged`, `status`, `kh`, `dm`) VALUES
    (2, '4', '时尚置物桶', 'gift/image001.png', '', 1, 4000, '2011-07-11 19:56:37', 0, '9180098031', 'XZ001'),
    (3, '4', '时尚置物桶', 'gift/image003.png', NULL, NULL, 4000, '2011-07-13 18:17:49', 0, '9180098035', 'XZ001');-- phpMyAdmin SQL Dump
    -- version 3.1.3.1
    -- http://www.phpmyadmin.net
    --
    -- 主机: localhost
    -- 生成日期: 2011 年 07 月 14 日 08:45
    -- 服务器版本: 5.1.33
    -- PHP 版本: 5.2.9SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
    /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
    /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
    /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
    /*!40101 SET NAMES utf8 */;--
    -- 数据库: `fairwhale`
    ---- ----------------------------------------------------------
    -- 表的结构 `order_mall_cart`
    --CREATE TABLE IF NOT EXISTS `order_mall_cart` (
      `rec_id` mediumint(8) NOT NULL AUTO_INCREMENT COMMENT '购物信息的自增ID号',
      `user_id` varchar(250) NOT NULL DEFAULT '0' COMMENT '用户登录id,取自session',
      `session_id` char(32) DEFAULT NULL COMMENT '登录的sessionid,如果该用户退出,该sessionid对应的购物车中的所有记录都将被删除;',
      `goods_name` varchar(120) NOT NULL DEFAULT '' COMMENT '商品的名称,取自表goods的goods_name',
      `goods_sn` varchar(20) NOT NULL DEFAULT '' COMMENT '商品的货号,取自表goods的goods_sn',
      `color_code` varchar(20) DEFAULT NULL COMMENT '该商品的颜色code',
      `size_code` varchar(20) DEFAULT NULL COMMENT '该商品的尺码code',
      `et_price` double NOT NULL DEFAULT '0' COMMENT '商品的市场价,取自表goods的et_price',
      `goods_price` double NOT NULL DEFAULT '0' COMMENT '商品的本店价,取自表goods的shop_price',
      `transaction_price` double NOT NULL DEFAULT '0' COMMENT '商品的成交价,退款时用到跟据促销和商品原价计算得出',
      `integration` int(11) DEFAULT NULL COMMENT '单件商品花费积分数,退款时用到',
      `goods_number` int(11) NOT NULL DEFAULT '0' COMMENT '商品的购买数量,在购物车时,实际库存不减少',
      `extension_code` varchar(30) NOT NULL DEFAULT '' COMMENT '购物车商品类型,common:普通;gift:礼品/赠品;group:套装;integrate:积分换购;second:秒杀',
      `extension_id` varchar(60) DEFAULT NULL COMMENT '分组扩展属性,extension_code为0时:为1时:存放促销id;为2时:存放套装id;为3时:为空',
      `extension_desc` varchar(255) DEFAULT NULL COMMENT '附加描述,比如促销的信息等',
      `can_handsel` tinyint(3) NOT NULL DEFAULT '0',
      `rec_type` char(10) DEFAULT NULL,
      `dateline` int(10) DEFAULT '0',
      PRIMARY KEY (`rec_id`)
    ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COMMENT='购物车购物信息记录表' AUTO_INCREMENT=142 ;--
    -- 导出表中的数据 `order_mall_cart`
    --INSERT INTO `order_mall_cart` (`rec_id`, `user_id`, `session_id`, `goods_name`, `goods_sn`, `color_code`, `size_code`, `et_price`, `goods_price`, `transaction_price`, `integration`, `goods_number`, `extension_code`, `extension_id`, `extension_desc`, `can_handsel`, `rec_type`, `dateline`) VALUES
    (141, '511000001', '903575c610ba668c5b25230d2c16e627', '时尚置物桶', 'XZ001', '1', '1', 0, 1, 4000, NULL, 1, '', NULL, NULL, 0, NULL, 0);
    这是这三个表结构,不是我设计的,我发帖的时候把名字都改了下,gg1dm是color_id ,gg2dm是size_id,goods_sn spdm dm 是一样的