mysql - 选择具有不同查询的单个记录

标签 mysql

我有一张表,表结构如下

id  service_type pincode
---------------------------------
 1      B        695582
 2      D        676102
 3      P        685584
 4      B        685608

我将从前端获得两个不同的密码。例如 695582 和 685608。我需要通过单个查询获取这些 pincode 的 service_types,结果应该是一行。我试过 UNION 查询,但结果在两个不同的行中。

select 'buyer' name, service_type from tm_location_carrier_lnk where pincode=695582
UNION
select 'seller' name, service_type from tm_location_carrier_lnk where pincode=685608

上面的查询结果如下

name service_type
------------------
buyer   B
seller  B

如何在单行中得到如下结果

Buyer   Seller
 B        B

最佳答案

为什么不做

SELECT (select service_type from tm_location_carrier_lnk where pincode=695582 LIMIT 1) as Buyer, (select service_type from tm_location_carrier_lnk where pincode=685608 LIMIT 1) as Seller;

在这里您可以找到一个工作示例:http://sqlfiddle.com/#!9/e01426/1

编辑:添加了 LIMIT 1 以避免重复的密码。

关于mysql - 选择具有不同查询的单个记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37359025/

相关文章:

使用 Amazon RDS 执行 PHP 时间特定操作

mysql - 在 MySQL 中操作两个子查询的结果

mysql - 在查询 "LIMIT 1"中使用 "SELECT 1 ..."有意义吗?

mysql - 如何通过在单个查询中添加 MySQL 数据库来更新 MySQL 数据库表中的字段

mysql - 数据库开发 - 总体结构和规划

mysql - 有聚合函数为什么还要把其余的列写到GROUP BY中呢?

php - 将图像上传到数据库并根据 Android 中的用户请求进行检索(通过 PHP)

mysql - 协助清理 MySQL 连接查询以查找行之间的更改

java - jpa中如何实现自增

database - Mysql慢查询: JOIN + multiple WHERES + ORDER BY