在MySQL中具有特定长度的Concat列值和变量

时间:2013-02-21 20:00:16

标签: 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

蔡怎么做。

3 个答案:

答案 0 :(得分: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 :(得分: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

答案 2 :(得分:0)

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