重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
思路如下,分别将A与B,A与C进行关联,然后使用 union 进行连接,查询时,直接使用这个查询就可以了(可以建个视图,查询起来比较方便 ),如下:
创新互联公司是专业的石鼓网站建设公司,石鼓接单;提供网站设计制作、成都网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行石鼓网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
select d.id, d.name
from (select A.id, B.name
from A, B
where A.id = B.id
and A.type = '教师'
union
select A.id, C.name
from A, C
where A.id = C.id
and A.type = '教室') d
where d.id = 123
有问题请追问,希望可以帮到你
不太懂的你意思:
“aid 唯一”,那么是不是数据库中只有aid一条纪录的意思? 那 sum(num)就没有意义了。如果你只是要判断是不是有这个aid纪录存在,以下这个方法是推荐的办法:
sql语句:select 1 from tablename where col = col limit 1;
然后读取语句执行所影响的行数。这里limit 1很重要,这样mysql找到一条记录后就不会在往下找了。这里执行所影响的行数不是0就是1,性能提高了不少。
一般来说,如果数据库里的字段比较多,而你需要的字段比较少,那么
select * from table
不如
select 字段名 from table
后种效率要高些,因为传输的数据量小。
DECLARE PRIMARY_KEY VARCHAR(100);
SET PRIMARY_KEY = group_concat(NEW.USER_ID,NEW.ROLE_NAME);
查询语句是这样写的:
select group_concat(NEW.USER_ID,NEW.ROLE_NAME)from NEW where 条件;
SELECT group_concat(NEW.USER_ID,NEW.ROLE_NAME separator '连接字符') FROM NEW where 条件;
可以用 case when 来判断返回不同值
select (case when 条件 then xxxx(条件为真时的结果) else (为假时) end)as xxx from table
$sql="select * from list order by id asc ";
$rs = mysql_query($sql);
while ($row = mysql_fetch_array($rs))
{
$data[] = $row //需要保存到2维数组中才可以调用的
}
echo "这是第一条记录。ID=".$data[0][0].",title=".$data[0][2];
运行这个看看 有不明白的请看我给的参考资料 和PHP手册
mysql_fetch_array($result)这东西不就是个数组么。 你用print_r(mysql_fetch_array($result));die();打印一下,看看打出来的时候什么结构的东西,就会用了