2013-08-02 74 views
0

我遇到了問題。我是MySQL新手。到目前爲止,我只需要簡單的查詢,並且一切正常。但是,現在我有一個問題。我有兩個表:MySQL從兩個表中選擇基於URL的URL

  1. tarife

    +----+---------------+ 
    | id | ime_tarife | 
    +----+---------------+ 
    | 1 | Neka tarifa 1 | 
    | 2 | Neka tarifa 2 | 
    +----+---------------+ 
    
  2. telefoni_dodatak

    +----+--------------+-----------+-------+ 
    | id | telefoni_id | tarifa_id | price | 
    +----+--------------+-----------+-------+ 
    | 1 |   35 |   1 | 650 | 
    | 2 |   35 |   2 | 700 | 
    +----+--------------+-----------+-------+ 
    

本表中的數值都是整數。

我有URL這樣www.example.com/phones/35/其中編號35代表的頁面(在一些三表使用)的ID,並且它也表telefoni_dodatak當作使用telefoni_id

tarifa_id具有來自表tarife的id編號。

我不得不從URL www.example.com/phones/35/得到這樣的輸出HTML,基於ID:

Neka tarifa 1 | 650 
------------------- 
Neka tarifa 2 | 700 

我已經試過與此查詢:

SELECT *, (SELECT ime_tarife FROM tarife WHERE id = (SELECT tarifa_id FROM telefoni_dodatak WHERE telefoni_id = :id)) AS nazivTarife FROM telefoni_dodatak WHERE telefoni_id = :id 

但不起作用。 (nazivTarife沒有定義,應該是?)

我使用的是PDO,而:id就是那個35的url。

P.S.此查詢SELECT * FROM telefoni_dodatak WHERE telefoni_id = :id工作正常,我得到兩個價格650和700.

在此先感謝您的幫助!

回答

3

你爲什麼不加入?

SELECT a.ime_tarife, b.price 
FROM tarife a 
     INNER JOIN telefoni_dodatak b 
      ON a.id = b.tarifa_id 
WHERE b.telefoni_id = 35 
+0

因爲我是新在此,並加入真的困惑了我:)我讀過從官方的文檔有關JOIN和我只是不明白:■ –

+1

訪問這裏,[可視化表示SQL Joins](http://www.codinghorror.com/blog/2007/10/a-visual-explanation-of-sql-joins.html) –

+0

謝謝,那是非常棒的鏈接!我要去嘗試你的代碼。 –