我有两个数据库表:
第一个表命名为 FIELDS
有以下两列: FIELD_ID
其数据类型为
int FIELD_NAME
其数据类型为 varchar
第二个表命名为 SHIPPINGS
有以下两列: FIELD_ID
其数据类型为
int SHIPPING_ID
其数据类型为 int
我需要检索所有字段名,并标记那些具有特定 SHIPPING_ID
在表格中设置 SHIPPINGS
.
例子:
如果我愿意 SHIPPING_ID = 3
,我希望收到以下结构:
s_firstname true
b_lastname false
s_lastname false
我该怎么做?我尝试了以下sql查询:
SELECT pf.field_name, ps.shipping_id, IF(ps.shipping_id = 3, "true", "false") AS status
FROM `fields` AS pf LEFT JOIN `shippings` AS ps
ON ps.shipping_id = 3
但对于所有字段它都返回true。我做错了什么?
1条答案
按热度按时间vfwfrxfs1#
可以使用聚合:
注意:这将结果解释为需要一个布尔值。如果你想要一个字符串,那么使用
case
表达式: