从同一列中选择多个值

时间:2015-07-07 20:43:35

标签: mysql select inner-join

SELECT b_lastname, b_firstname, cscart_profile_fields_data.value AS VAT
FROM cscart_user_profiles
INNER JOIN cscart_profile_fields_data ON cscart_profile_fields_data.object_id = cscart_user_profiles.user_id
WHERE cscart_profile_fields_data.field_id =64
AND cscart_profile_fields_data.object_type = 'P'

我正在使用上面的代码,以便从cscart_user_profiles表中获取值,也可以从cscart_profile_fields_data表中获取值,尤其是值字段。 我想做的是从同一查询的值字段中获取不同的值,只需更改field_id

1 个答案:

答案 0 :(得分:0)

如果我理解你的问题:

SELECT b_lastname, b_firstname, cscart_profile_fields_data.value AS VAT
FROM cscart_user_profiles
INNER JOIN cscart_profile_fields_data ON cscart_profile_fields_data.object_id = cscart_user_profiles.user_id
WHERE cscart_profile_fields_data.field_id IN (64, ...)
AND cscart_profile_fields_data.object_type = 'P'

此quere返回与WHERE IN条件

中的参数一样多的行

或:

SELECT b_lastname, b_firstname, GROUP_CONCAT(cscart_profile_fields_data.value SEPARATOR ';') AS VAT
FROM cscart_user_profiles
INNER JOIN cscart_profile_fields_data ON cscart_profile_fields_data.object_id = cscart_user_profiles.user_id
WHERE cscart_profile_fields_data.field_id IN (64, ...)
AND cscart_profile_fields_data.object_type = 'P'
GROUP BY b_lastname, b_firstname

上面的查询返回一行,其中VAT列中的多个值分隔;字符(如CSV文件)

相关问题