//首先需要知道自己的id號,且認為存在session中的,并且已經傳了過來
成都創新互聯公司專注于精河網站建設服務及定制,我們擁有豐富的企業做網站經驗。 熱誠為您提供精河營銷型網站建設,精河網站制作、精河網頁設計、精河網站官網定制、成都小程序開發服務,打造精河網絡公司原創品牌,更為您提供精河網站排名全網營銷落地服務。
$myID?=?$_SESSION['id'];
$sql?=?"SELECT?*?FROM?user?WHERE?user_class?=?(SELECT?user_class?FROM?user?WHERE?user_id='".$myID."')?AND?user_id?NOT?IN?(SELECT?to_id?FROM?vote?WHERE?from_id?=?'".$myID."')";
SELECT?user_class?FROM?user?WHERE?user_id='".$myID."' 選出我所在的班級
SELECT?to_id?FROM?vote?WHERE?from_id?=?'".$myID."' 選出我投過的人的id
最終是選出我所在的班級,且不在我投過的id范圍內的用戶的信息
比如聯合A B倆表\x0d\x0a\x0d\x0aselect a.*,b.* from A as a left join B as b on a.id = b.id where a.name='lileiand b.age=27 order by a.id group by a.class limit 10 ;\x0d\x0a\x0d\x0a很簡單
SELECT a.A表字段名, b.B表字段名 FROM A表名 a LEFT JOIN B表名 b WHERE 條件自己寫,例如(a.字段名 != '' ) ON a.字段名 = b.字段名
這種聯合查詢的限制是ab2表必須有一個相同的關鍵字,且相等
select ID from a union select level,integ from b where (條件一) and (條件二) and (條件三)
自己改條件。
用別名 , 比如 a表 有 c字段, b表也有 c字段, field('a.c as xx'), field('b.c as oo'), 至于具體join()方法你自己寫吧, 方法就是用別名, 或者加上表名,這樣就不會產生歧義
至少三個方法可以實現:
一、使用視圖來實現多表聯合查詢,
例如:創建視圖:create view userstoposts as select u.name,u.qq,p.post_id,p.title, p.contents, p.contents from users as u,posts as p where u.name=p.name
二、直接使用表聯合查詢
例如:select u.name,u.qq,p.* from users as u,posts as p where u.name=p.name
三、結合PHP語言實現
例:1、
?php
$Sql="select *from posts";
$Result=@mysql_query($Sql);
while($rows=mysql_fetch_assoc($Result)){
$sql1="select name,qq from users where name='".$rows['name']."'";
$result1=@mysql_query($sql1);
$rows1=mysql_fetch_assoc($result1);
$OUTPUT[]=array(
'name'=$rows['name'],
'qq'=$rows1['qq'],
'post_id'=$rows['post_id'],
'title'=$rows['title'],
'contents'=$rows['contents']
);
}
print_r($OUTPUT);//可以你需要的結果輸出
?