2016-08-20 5 views
0

Я работаю над двумя таблицами базы данных.Выберите значение в столбце из подзапроса, MySQL

Таблица A содержит название партии продукции:

_id, 
prod_name, 
prod_description, 
... 

Таблица B имеет примечания (они продаж):

_id, 
note_num, 
prod_id, 
prod_price, 
quantity, 
... 

Я завожусь автоматизации в моем коде

Я хочу иметь следующие варианты:

SELECT note_num, prod_id, (I want the prod_name from table A), prod_price 
FROM tableB 
WHERE id_ = 1 

Но ретривер данных представляет собой массив.

Я думаю, что я что-то отсутствует в моем подзапроса

(SELECT prod_name FROM tableA WHERE prod_id = prod_id) 

Мой выход должен быть массив как это:

5 | Pink(with id 50) | 40.00 
5 | Blue(with id 20) | 50.00 
5 | Red (with id 10) | 55.50 
+1

Что именно вы хотите, чтобы ваш результат выглядел? Пожалуйста, объясните это четко. –

ответ

0

Предполагая, что ключ TABLEA тоже prod_id использование INNER JOIN

"SELECT note_num, prod_id, tableA.prod_name, prod_price 
FROM tableB 
INNER JOIN tableA on tableB.prod_id = tableA.prod_id 
WHERE id_ = 1" 
+0

prod_id не является ключом –

0

Чтобы иметь столбцы из обеих таблиц, используйте INNER JOIN. Вы даже можете выбрать столбцы из каждой таблицы.

SELECT b.*, a.nameColumn1, a.nameColumn2 
    FROM tableB b 
    INNER JOIN tableA a 
    ON b.prod_id = a.prod_id 

.* означает все столбцы таблицы.

Смежные вопросы