cos*_*osy 0 php mysql entity-attribute-value
我有这张桌子
UMS
id_attribute value order
1 MB 1
1 Gb 2
1 TB 3
...
Run Code Online (Sandbox Code Playgroud)
和这张桌子
ATTRIBUTE_VALUE
id id_attribute value name ums
1 1 50 hdd GB
2 1 100 hdd TB
3 2 15.00 price NULL
Run Code Online (Sandbox Code Playgroud)
我想从ATTRIBUTE_VALUE中选择,其中id_attribute = 1并且如果存在(UMS.value = ATTRIBUTE_VALUE.ums)则按UMS.order结束,如果按ATTRIBUTE_VALUE.value分组
输出示例:
50 GB
100 Tb
and must to appear
15.00 !!! here is the problem because in my UMS table i don't have UMS for price
but it doesn't appear
Run Code Online (Sandbox Code Playgroud)
澄清问题后更新 - 尝试这样的事情:
SELECT T1.*
FROM ATTRIBUTE_VALUE T1
LEFT JOIN UMS T2
ON T1.id_attribute = T2.id_attribute AND T1.ums = T2.value
ORDER BY T2.order, T1.value
Run Code Online (Sandbox Code Playgroud)
但请注意,如果T1.value大于1000,这将失败.在订购之前将所有单元转换为相同类型可能更好.
查询结果:
id id_attribute value name ums
3 2 15.00 price
1 1 50 hdd GB
2 1 100 hdd TB
Run Code Online (Sandbox Code Playgroud)