2016-05-06 11 views
0

私のデータベース内に2つのテーブルがあります。Duel WHERE句のMySqlクエリ

ナビゲーション表

| id | menu | parent_id | 
----------------------------- 
| 1 | Thailand |  0  | 
| 2 | Bangkok |  1  | 

ツアー表

| id | parent_id | city_id | name | 
---------------------------------------- 
| 1 |  1  | 2 | Tour 1 
| 2 |  1  | 2 | Tour 2 

私のクエリステートメントは

$sql = DB::getInstance()->query(
    'SELECT 
     tours.id, 
     tours.parent_id, 
     tours.city_id, 
     tours.name, 
     navigation.id, 
     navigation.menu, 
     navigation.parent_id 
    FROM 
     tours, navigation 
    WHERE 
     tours.parent_id = navigation.id' 
); 

これは、次の

 [0] => stdClass Object 
      (
       [id] => 1 
       [parent_id] => 0 
       [city_id] => 2 
       [name] => RIVER KWAI ADVENTURE 
       [price] => 18170 
       [menu] => thailand 
      ) 
0を返すです私はそれを返したい何

は、私は、クエリ内これを行うことができますどのように、次の

 [0] => stdClass Object 
      (
       [id] => 1 
       [parent_id] => 0 
       [city_id] => 2 
       [name] => RIVER KWAI ADVENTURE 
       [price] => 18170 
       [menu] => thailand 
       [menu] => bangkok 
      ) 

あります?それは決闘ですかWHERE節??

EDIT THIS

TOこれは私が

 [0] => stdClass Object 
      (
       [id] => 1 
       [parent_id] => 0 
       [city_id] => bangkok 
       [name] => RIVER KWAI ADVENTURE 
       [price] => 18170 
       [menu] => thailand 
      ) 

を返したいと思っています何NO menutoursテーブルではありません

+4

でなければなりません。 – zerkms

+0

GROUP_CONCATE(navigation.menu)を使用 –

+2

@RaviHiraniこれは誰かが与えるかもしれない最悪のアドバイスです。 – zerkms

答えて

0

は、あなたが参加しようとしたことがありますか?

SELECT t.id AS [tourId], t.parent_id AS [tourParent_id], t.city_id, t.name, n.id as [navId], n.menu, n.parent_id AS [navParent_id] 
FROM Tours t 
JOIN Navigation n ON n.id = t.parent_id 
+0

そのような作品ですが、 'city_id'が' menu'タイトルを返すようにしたいと思います。この場合は 'バンコク' – b2b589

0

問合せは、すべてのキーの名前は一意である、あなたは2 `menu`sを持つことができないエイリアス名

SELECT 
    tours.id, 
    tours.parent_id, 
    tours.city_id, 
    tours.name, 
    navigation.id, 
    navigation.menu as nav_menu, 
    tours.menu as tours_menu, 
    navigation.parent_id 
FROM 
    tours, navigation 
WHERE 
    tours.parent_id = navigation.id 
+0

どうすればいいですか?上記の表を見ると 'tours.menu'はありません – b2b589