2013-02-21 4 views
0

У меня есть таблица продуктов и другие таблицы.
Вот некоторые выборочные данные
ПродуктыЗначение столбца столбца и переменная с определенной длиной в MySQL

id | product_name  | category_id 
1  | Leath Machine  | 1 
2  | Drilling Machine | 1 
3  | Boring Machine | 1 

А вот категории Таблица

id | name   | symbol 
1  | SMT Equipment | SMT 

Я хочу, чтобы сделать выбор, который будет показывать мне результаты как этот

id | product_name  | category_id | code 
1  | Leath Machine  | 1   | SMT00001 
2  | Drilling Machine | 1   | SMT00002 
3  | Boring Machine | 1   | SMT00003 

Как cai сделать это.

ответ

3
SELECT 
    `products`.`id`, 
    `product_name`, 
    `category_id`, 
    CONCAT(symbol, LPAD(products.id,5,'0')) AS code 
FROM products 
    INNER JOIN categories 
    ON products.category_id = categories.id; 

Вот это SQLFiddle результаты.

SQL Fiddle Demo

1

попробовать это

select p.id,p.product_name,p.category_id,concat(symbol ,'0000',p.id) code from Products p 
    inner join category c 
    on p.category_id = c.id 

DEMO SQLFIDDLE HERE

+0

Вы уверены, что вы внимательно прочитали вопрос? –

+0

обновил мой ответ –

+0

Это не принесет желаемого результата, если есть 10 или более продуктов. он все равно получит 0000 в качестве строки, которая должна быть увеличена. –

0

SELECT p.*, CONCAT(c.symbol, LPAD(p.id, 5, '0')) FROM products p INNER JOIN category c ON p.category_id=c.id;

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