SQL查询使用键/值对从同一个表中选择和排序所有对象
好的,我有一个表,其中包含我需要查询和排序的键和值,看起来有点像这样: 假设我想提取“dog”(和任何其他值)网络分类中的所有不同项(资源号),并按升序按“order”排序,结果如下:SQL查询使用键/值对从同一个表中选择和排序所有对象,sql,Sql,好的,我有一个表,其中包含我需要查询和排序的键和值,看起来有点像这样: 假设我想提取“dog”(和任何其他值)网络分类中的所有不同项(资源号),并按升序按“order”排序,结果如下: 我不知道如何查询我的表以允许此操作…我尝试了内部联接,但它们似乎不起作用…有人能帮忙吗?谢谢 在同一个表中,当所有数据都在单独的行中时,阅读起来有点棘手,但是对于您现在拥有的值,这应该可以做到。如果您考虑的是动态列,则需要执行特定于数据库的过程 select resource_no , 'dog
我不知道如何查询我的表以允许此操作…我尝试了内部联接,但它们似乎不起作用…有人能帮忙吗?谢谢 在同一个表中,当所有数据都在单独的行中时,阅读起来有点棘手,但是对于您现在拥有的值,这应该可以做到。如果您考虑的是动态列,则需要执行特定于数据库的过程
select resource_no
, 'dog'
, location
from YourTable
where webcategory = 'location'
and resource_no in
(
select resource_no
from YourTable
where webcategory = 'dog'
)
order by
location
SELECT a.RESOURCE_NO, a.value webcategory, b.value location
FROM resources a
LEFT JOIN resources b ON a.RESOURCE_NO=b.RESOURCE_NO AND b.key='location'
LEFT JOIN resources c ON a.RESOURCE_NO=c.RESOURCE_NO AND c.key='order'
WHERE a.key = 'webcategory' AND a.value='dog'
GROUP BY RESOURCE_NO
ORDER BY c.value
演示。如果这是家庭作业,请添加家庭作业标签。您尚未接受与这些表格相关的上一个问题的答案。lol,这是工作,不是家庭作业。上一个问题已接受,谢谢……但后来我意识到上面的问题确实是我需要的问题,很抱歉提出了类似的问题,感谢您的回答。接下来……您知道如何更正订单字段中的潜在空值吗?@Stephen您是指具有键“order”的行的值字段中的空值,还是完全缺少订单行?还有,正确的方法是什么?您要先分类还是最后分类,还是。。。?