大家下午好
我想知道是否可以在数据库中获得此示例的帮助。
我将列表交付为:
------------------------------------
| 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')
关于mysql同价不匹配列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33268667/