0

我有个问题。我是 MySQL 新手。到目前为止,我只需要简单的查询,一切正常。但是,现在我有一个问题。我有两张桌子:

  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_idtable telefoni_dodatak

tarifa_id具有表中的 id 号tarife

我必须根据来自 url 的 id 在 HTML 中获得这样的输出www.example.com/phones/35/

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是来自 url 的数字 35。

PS 这个查询SELECT * FROM telefoni_dodatak WHERE telefoni_id = :id很好,我得到了 650 和 700 的价格。

提前感谢您的帮助!

4

1 回答 1

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
于 2013-08-02T19:57:06.797 回答