выберите столбцы из другой таблицы и создайте столбец

#mysql #sql

#mysql #sql

Вопрос:

У меня есть 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 . Я знаю, что есть запрос, который я могу использовать для создания дополнительного столбца с этой информацией, но, хоть убейте, я не могу вспомнить или найти его.

Любая помощь приветствуется.

Комментарии:

1. ВЫБЕРИТЕ *, width * height как extracolumn …

2. Я не хочу умножать ширину и высоту, я хочу отобразить текст width x height , но я понял общее представление о вашем ответе, спасибо!

3. ВЫБЕРИТЕ *, CONCAT(width,’ x ‘, height) в качестве extracolumn

Ответ №1:

 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.
  

Комментарии:

1. не могли бы вы немного объяснить это, пожалуйста, не могу разобраться в этом

2. @LeePrice: я просто начинаю с assigned_ads таблицы и нахожу связанную с ней строку в ads таблице на основе заданного id значения.