danjiang 发表于 2009-12-1 14:51:00

select 问题

如何检索到 name1=张三,name2=李四
我用 SELECT user.name as name1,user.name as name2 FROM map,user where user.id=map.id1 是不行的。

数据库如下
-- phpMyAdmin SQL Dump
-- version 3.2.3
-- http://www.phpmyadmin.net
--
-- 主机: localhost
-- 生成日期: 2009 年 12 月 01 日 06:34
-- 服务器版本: 5.0.51
-- PHP 版本: 5.3.1

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--
-- 数据库: `test`
--

-- --------------------------------------------------------

--
-- 表的结构 `map`
--

CREATE TABLE IF NOT EXISTS `map` (
`id1` int(11) NOT NULL,
`id2` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- 转存表中的数据 `map`
--

INSERT INTO `map` (`id1`, `id2`) VALUES
(1, 2);

-- --------------------------------------------------------

--
-- 表的结构 `user`
--

CREATE TABLE IF NOT EXISTS `user` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(100) NOT NULL,
PRIMARY KEY(`id`)
) ENGINE=InnoDBDEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;

--
-- 转存表中的数据 `user`
--

INSERT INTO `user` (`id`, `name`) VALUES
(1, '张三'),
(2, '李四');

danjiang 发表于 2009-12-1 18:36:05

找到这个,试试先
SELECT name FROM map,user where user.id=map.id1 UNION SELECT name FROM map,user where user.id=map.id2
页: [1]
查看完整版本: select 问题