求1个sql语句,该怎么解决
求1个sql语句
假如有以下4个表
tableA
ID Name Birthday
1 aa 19790907
2 bb 19790910
3 cc 19800505
tableB
ID Discription
1 11
2 22
3 33
我有一个搜索画面,需要根据输入的内容进行like查询。
画面上有ID,Name,BirthYear,BirthMonth,BirthDay,Sex这6个选项。
他们之间是or的关系。
我最后想要我搜索到的ID和Discription
这样的搜索我应该怎么写?
------解决方案--------------------
大体上分两步,
第一步你先学会如何在sql中编写sql语句
比如:select * from tableA inner join tableB on a.id=b.id where name='aa' or discription like '%3'
第二步你要学会如何用Ado.Net来执行sql语句
------解决方案--------------------
select A.ID,B.Discription from tableA as A
inner join tableB as B
on A.ID=B.ID
WHERE
A.ID LIKE '%@%' or
A.Name like'%@%' or
datepart(yyyy,Birthday) =@ or
datepart(MM,Birthday) =@ or
datepart(dd,Birthday) =@ or
------解决方案--------------------
假如有以下4个表
tableA
ID Name Birthday
1 aa 19790907
2 bb 19790910
3 cc 19800505
tableB
ID Discription
1 11
2 22
3 33
我有一个搜索画面,需要根据输入的内容进行like查询。
画面上有ID,Name,BirthYear,BirthMonth,BirthDay,Sex这6个选项。
他们之间是or的关系。
我最后想要我搜索到的ID和Discription
这样的搜索我应该怎么写?
------解决方案--------------------
大体上分两步,
第一步你先学会如何在sql中编写sql语句
比如:select * from tableA inner join tableB on a.id=b.id where name='aa' or discription like '%3'
第二步你要学会如何用Ado.Net来执行sql语句
------解决方案--------------------
select A.ID,B.Discription from tableA as A
inner join tableB as B
on A.ID=B.ID
WHERE
A.ID LIKE '%@%' or
A.Name like'%@%' or
datepart(yyyy,Birthday) =@ or
datepart(MM,Birthday) =@ or
datepart(dd,Birthday) =@ or
------解决方案--------------------
- SQL code
select A.*,B.* into #temp from A,B declare @sql varchar(1000) set @sql='select ID,Discription from #temp where '+第一个字段+' like ''%'+第一个条件值+'%''' or 其它的条件 exec (@sql) delete table #temp
------解决方案--------------------
- SQL code
Select a.ID,b.Discription From tableA a Left Outer Join tableB b On a.ID=b.ID Where ID='%输入的数据%' or Name='%输入的数据%' or BirthYear='%输入的数据%' or BirthMonth='%输入的数据%' or BirthDay='' Or Sex='输入的数据'
------解决方案--------------------
- SQL code
Select a.ID,b.Discription From tableA a Left Outer Join tableB b On a.ID=b.ID Where ID like '%输入的数据%' or Name like '%输入的数据%' or convert(varchar(4),year(Birthday)) like '%输入的年%' or convert(varchar(4),month(Birthday)) like '%输入的月%' or convert(varchar(4),day(Birthday)) like '%输入的日%' Or Sex='输入的数据'