mysql同价不匹配列值

标签 mysql

大家下午好

我想知道是否可以在数据库中获得此​​示例的帮助。

我将列表交付为:

------------------------------------
|   Id  |   name        |   price  |
-------------------------------
|    1  |   Hawaii      |   20.58  |

|    2  |   Hawaii VIP  |   45.58  |

|    3  |   Aruba       |   13.58  |

|    4  |   Aruba VIP   |   34.58  |

|    5  |   Japon       |   14.58  |

|    6  |   Japon VIP   |   34.58  |

|    7  |   Alemania    |   14.58  |

|    8  |   Alemania VIP   |   14.58  |

但我需要它们显示如下:

-----------------------------------------------------
|   Id  |   name        |   price basic   | price vip
-----------------------------------------------------
|    1  |   Hawaii      |   20.58         |   45.34  |

|    5  |   Japon       |   14.58         |  34.58   |

等等等等

我需要的是同一查询中不同列中同一国家/地区的两种价格。

因为我可以根据该字段捕获“VIP”并将其放入具有其值的列中

最佳答案

最好将 IS_VIP 作为一个单独的列存储在第一个表中,而不是将其添加到名称中,但由于这不是一个完美的世界,您可以在此之前解决它。 :)

SELECT
  t.Id,
  t.name,
  t.price as "price basic",
  v.price as "price VIP"
FROM YourTable t
JOIN YourTable v ON v.name = CONCAT(t.name, ' VIP')

Sql Fiddle Example

关于mysql同价不匹配列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33268667/

相关文章:

sql - MySQL按两次平均排序

mysql - 如何批量导入数据库文件到mySQL中

php - 处理静态但可扩展列表的最佳方法

mysql - 在 SQL 的单个更新语句中更新多列时的更新顺序

mysql - SQL查询(SELECT)找到值时是否继续或停止从表中读取数据

php - 尝试从数据库中抓取多个随机视频,但它始终只显示同一个视频

mysql - 当没有该值时SQL选择默认值

php - 需要来自数据库的数据而不是资源 ID

php - 将实时视频流式传输到网站

mysql - 日期选择器采用 01-01-1970 日期