2011-09-29 152 views
0

我有2个表从另一个表中选择列,并创建一个列

广告:

+------------+------------+-------------+ 
| id  | width  | height | 
+------------+------------+-------------+ 
| 1  | 300  | 250  | 
| 2  | 550  | 50  | 
| 3  | 300  | 250  | 
| 4  | 300  | 250  | 
| 5  | 550  | 50  | 
+------------+------------+-------------+ 

assigned_ads:

+------------+------------+-------------+ 
| id  | location | ad_id  | 
+------------+------------+-------------+ 
| 1  | hp1  | 2   | 
| 2  | hp2  | 3   | 
| 3  | hp3  | 5   | 
| 4  | hp4  | 1   | 
| 5  | hp5  | 4   | 
+------------+------------+-------------+ 

我有ad_id为外键...

使用PHP,我需要输出广告的大小ad_id,但是这些信息保存在ads表中。我需要的信息是width x height。我知道有一个查询可以用来创建一个包含这些信息的额外列,但对于我来说我记不起来,或者找不到它。

任何帮助表示赞赏。

+0

SELECT *,宽*高为柱外... – Jauzsika

+0

我不想乘宽度和高度,我想显示的文字'宽x height',但我得到你的答案的总体思路, 谢谢! –

+0

SELECT *,CONCAT(width,'x',height)as extracolumn – Jauzsika

回答

3
SELECT a.width, a.height 
    FROM assigned_ads aa 
     INNER JOIN ads a 
      ON aa.ad_id = a.id 
    WHERE aa.id = 123 -- Your value goes here. 
+0

请问你能否解释一下这个问题,不能让我的脑袋绕过它 –

+1

@LeePrice:我只是从'assigned_ads'表开始找到它的相关行在'ads'表中,基于给定的'id'值。 –

+0

作品款待..谢谢! –

相关问题