我想提取存储在表的同一列中的两种类型的数据,并将其显示在两列中.我已经进行了很多搜索和测试,但是没有任何效果.
这可能很容易…
这是我的桌子:
| id | field_id | user_id | value |
| 175 | 65 | 3 | 48.8984188201264 |
| 173 | 65 | 2 | 37.9841493 |
| 177 | 65 | 4 | 48.8440603 |
| 179 | 65 | 5 | 48.8407529 |
| 174 | 66 | 2 | 23.7279843 |
| 176 | 66 | 3 | 2.25568230749569 |
| 178 | 66 | 4 | 2.3730525 |
| 180 | 66 | 5 | 2.3213214 |
我想通过加入user_id在一个字段中显示纬度(Field_id = 65),在另一个字段中显示经度(field_id = 66).
两种选择:
select value as longitude
from wp_bp_xprofile_data
where field_id=66;
select value as latitude
from wp_bp_xprofile_data
where field_id=65;
| longitude |
| 23.7279843 |
| 2.25568230749569 |
| 2.3730525 |
| 2.3213214 |
| latitude |
| 48.8984188201264 |
| 37.9841493 |
| 48.8440603 |
| 48.8407529 |
如何在两列的一个表中显示此数据?
谢谢
解决方法:
巴萨姆的答案很好,但是这并不是世界上最有效的方法.您可以像这样简化查询:
select
t1.user_id,
t1.value as latitude,
t2.value as longitude
from
wp_bp_xprofile_data t1
inner join wp_bp_xprofile_data t2 on
t1.user_id = t2.user_id
where
t1.field_id = 65
and t2.field_id = 66
这样,您就不会引入子查询,而且查询至少对我来说更清晰一些.
标签:select,mysql
来源: https://codeday.me/bug/20191101/1986892.html