1.数据库中有6个表
2.平均每个表有15个字段
3.要求:针对每个字段都要做筛选的条件
【问】这么多的字段,都要做为筛选的条件来显示出来给用户选择,应该怎么设计好呢?还要尽量有利于之后的2次筛选
2.平均每个表有15个字段
3.要求:针对每个字段都要做筛选的条件
【问】这么多的字段,都要做为筛选的条件来显示出来给用户选择,应该怎么设计好呢?还要尽量有利于之后的2次筛选
解决方案 »
- 有对mySQL 有研究的高手请进
- 如何从数据库中取得Datatime类型值赋给CTime变量?
- 500分求助!!!解决了分给一个人!!!http://expert.csdn.net/Expert/topic/2475/2475732.xml?temp=.3599817
- 高分:clist的消息队列是否为临界资源?
- 我的问题比较特殊!请大虾看看!
- 请问有什么方法得到在开始菜单上一个快捷方式的程序运行路径呢?
- 如何用ShellExecute操作我的帮助文档呢?
- 如何反编绎DLL文件?只知应该是C++写的,封装的是读卡器读取的函数!详细见内!
- 请问:操作sqlserver数据库的程序如何发布?
- 急求图像处理代码
- 关于图像处理的问题
- 编译错误:PRJ0019 工具从“MAKING HELP FILE...”
按照您说的~现在出现这样的问题
例如
table1 有字段 name , IDCard ,sex ,age
table2 有字段 name, IDCard, Company, department
table3 有字段 name,IDCard, ContractBeginTime, ContractEndTime
现在筛选Company = '单位1' and ContractEndTime < 2008-12-30 的人我这样写SQL对吗?
select table1.name , table1.IDCard, table1.age, table2.Company, table2.Department, table3.ContractEndTime
where table1.name = table2.name and
table1.name = table3.name and
table2.Company = '单位1' and
table3. ContractEndTime < 2008-11-30
这样写对吗?
如果对的话~可是我还想把他们显示出来~
我这样定义的
strFields[] = {"table1.name", "table1.IDCard", "table1.age", "table2.Company", "table2.Department", "table3.ContractEndTime"};
但在这步是就出现错误了……
strRetValue[j] = (const char *)_bstr_t(m_pRecordset->GetCollect(_variant_t(strFields[j]);
select table1.name , table1.IDCard, table1.age, table2.Company, table2.Department, table3.ContractEndTime
from table1, table2, table3
where table1.name = table2.name and
table1.name = table3.name and
table2.Company = '单位1' and
table3. ContractEndTime < 2008-11-30
数据库中时间是什么类型表达的?2008-11-30表达估计有问题,至少两端要加上“'”吧
from table1, table2, table3
where table1.name = table2.name and
table1.name = table3.name and
table2.Company = '单位1' and
table3. ContractEndTime < 2008-11-30 改成:
select table1.name , table1.IDCard, table1.age, table2.Company, table2.Department, table3.ContractEndTime
from table1, table2, table3
where table1.name = table2.name and
table1.name = table3.name and
table2.Company = '单位1' and
table3. ContractEndTime < '2008-11-30'
我这样定义的
strFields[] = {"table1.name", "table1.IDCard", "table1.age", "table2.Company", "table2.Department", "table3.ContractEndTime"};
但在这步是就出现错误了……
strRetValue[j] = (const char *)_bstr_t(m_pRecordset->GetCollect(_variant_t(strFields[j]); ----------------------------------------------------------------------------------------------------------
其实我的意思是想说,怎么得到筛选出来的数据?就是每个字段的值,如上,然后显示出来,因为跨表了,所以……
select table1.name as t1name, table1.IDCard as t1ID, table1.age as t1age, table2.Company as t2comp, table2.Department as t2dep, table3.ContractEndTime as t3con
from table1, table2, table3
where table1.name = table2.name and
table1.name = table3.name and
table2.Company = '单位1' and
table3. ContractEndTime < '2008-11-30' ...strFields[] = {"t1name", "t1ID", "t1age", "t2comp", "t2dep", "t3con"};
...
别的先不说~至少我一下就通过了~太兴奋了!tabby~!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!
你教会了我太多了!!!!!!!!!!!
谢谢您!!!