日期:2014-05-17  浏览次数:20452 次

求教数据行列转换与筛选问题
我现在又两个表一个是主要信息表info 一个是明细表detail 现在由于表的明细字段过多(几百个) 我将明细数据如以下形式存储

info表

ID TableName CreatDate 。。。。。。
1 表一 2012-7-1
2 表二 2012-7-1
3 表三 2012-7-2
4 表四 2012-7-2

detail表 infoid为外键

ID ColumName ColumValue InfoId
1 a 123 1
2 a 456 2
3 a 123 3
4 a 456 4
5 b 123 1
6 b 456 2
7 b 123 3
8 b 456 4

现在我需要的数据是 TableName CreatDate a b 。。。。。。。
  表一 2012-7-1 123 456
  表二 2012-7-1 123 456
  表三 2012-7-2 123 456
  表四 2012-7-2 123 456
我通过连接查询和表的转换已经实现了以上的格式,但是现在需要对明细数据的筛选(包含in与between),写不出来了,求大神指导下,有没有什么好的方法或思路,万分感激!!!

 

------解决方案--------------------
这个要看你筛选的条件是什么?
直接后面加where 加条件就可以了。
看你的结果表一哪里有456呢?

select * from a join b on a.id=b.infoid
--where b.x--这里添加条件 。
------解决方案--------------------
既然楼主"已经实现了以上的格式",把代码贴出来看看.

------解决方案--------------------
你的代码呢?