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
最佳答案
如果我理解你的问题:
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'
此查询返回与 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 文件)
关于mysql - 从同一列中选择多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31278899/