2017-08-31 51 views
1

我開發的CI的應用程序,在這裏加入是一個不返回任何輸出我的查詢回聲情結CI

SELECT `institute`.`name` 
    , `user`.`username` 
    , `ambassador`.`recommended_by` 
    , `ambassador`.`degree_level` 
    , `ambassador`.`about` 
    , `ambassador`.`is_active` 
    , `ambassador`.`added_on` 
FROM `user` 
    INNER JOIN `ambassador` ON `ambassador`.`user_id` = `user`.`id` 
      AND `ambassador`.`recommended_by` = `user`.`id` 
    INNER JOIN `institute` ON `ambassador`.`institute_id` = `institute`.`id 

說明:

表名

  • 用戶(包含按類型添加的所有用戶的兩種數據( ambassador/admin)
  • 學院(研究所內容數據)
  • 大使( 這就是從兩個以上表中的數據存儲)

真實測驗:

我能夠得到這是該數據發送到大使表作爲ID,因爲表的結構是這樣構建的。但在視圖部分我不想顯示這些ID,即

  • 大使的名字(user.user_type =大使) &
  • Instutue名
  • 大使的名字(用戶。 user_type = admin)

我非常希望能夠從這裏獲得一些幫助。

更新:

大使表:

id 
user_id 
institute_id 
degree_level 
recommended_by 
about 
added_on 
is_active 

用戶表:

id 
first_name 
last_name 
username 
email 
password 
gender 
cnic 
user_type 

研究所表

id 
name 
city_id 
group_name 

再次更新

現在,下面的查詢爲我工作,但我尋找一些有效的解決方案。

$this->db->select(
'institute.name, 
user.username, 
ambassador.id, 
ambassador.degree_level, 
ambassador.about,ambassador.is_active,ambassador.added_on'); 

    $this->db->from('user'); 
    $this->db->join('ambassador', 'ambassador.user_id = user.id', 'INNER'); 

$this->db->join('institute', 'ambassador.institute_id = institute.id', 'INNER'); 

    $query['q1'] = $this->db->get(); 
    $this->db->select(' 
    user.username'); 

第二個查詢

$this->db->from('user'); 
    $this->db->join('ambassador', 'ambassador.recommended_by=user.id', 'INNER'); 
    $query['q2'] = $this->db->get(); 

**闖闖:** 現在試圖子查詢,不知道這是否正確。任何幫助將不勝感激在糾正這一點。

SELECT 
(
SELECT 
    `a`.id, 
    `i`.`name`, 
    `u`.`username`, 
    `a`.`degree_level`, 
    `a`.`recommended_by`, 
    `a`.`about`, 
    `a`.`is_active`, 
    `a`.added_on 
), 
(
    SELECT 
     `u`.`username` 
    FROM 
     `user` 
    WHERE 
     `user_type` = "admin" 
    ) 
FROM 
    `user` AS `u` 
LEFT OUTER JOIN `institute` AS `i` 
ON 
    `a`.`institute_id` = `i`.`id` 
LEFT OUTER JOIN `ambassador` AS `a` 
ON 
    `a`.`user_id` = `u`.`id` 
LEFT OUTER JOIN `admin` AS `ad` 
ON 
    `a`.`recommended_by` = `ad`.`user_id` LIMIT 0, 25 
MySQL said: Documentation 
#1241 - Operand should contain 1 column(s) 
+1

請發表您的表結構,可以給正確的結果。 –

+0

嗨nikunj, 我已經添加了它們,必需品,希望能明白的東西, 請檢查上面:更新 – iMansoorAliKhan

+0

只是爲了澄清這個問題,你想要在你的初始'SELECT'查詢中獲取數據,但是有了它你從其他桌子上獲得ID?我理解正確嗎? – Wishan

回答

0

你可以查看數據庫,然後從你的應用程序中選擇視圖表

CREATE VIEW view_name AS 
SELECT column1, column2, ... 
FROM table_name 
WHERE condition;