论坛首页 入门技术论坛

求一条 sql 语句

浏览 3571 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-08-12  

大家好, 请!!

表:TB_A    
ItemID Vname Flag
1 ABC 1
2 CCC 0
3 DDD 1
4 BBB 2
5 EEE 0
表:TB_B    
LID AID Lname
1 1,2 XffBee
2 2,3,4 EIKKKK
3 4,5 LLLLLL
4 2,5 BBBCCC
5 3,4,5 BEEEEE
6 2,3,5,6 EEIIII

这两个表中,要求输入一个ItemID 给 TB_A,然后找出TB_B表中 AID 存在的记录,并且还要显示TB_A 的内容,例子如下:

例如  ItemID=4,结果如下:

ItemID Vname LID Lname
4 BBB 2 EIKKKK
4 BBB 3 LLLLLL
4 BBB 5 BEEEEE

 

   发表时间:2007-08-12  
怎么没人来顶一下啊?

   
0 请登录后投票
   发表时间:2007-08-12  
不可能
表结构设计有问题
0 请登录后投票
   发表时间:2007-08-13  
select  ta.itemid,ta.vname,tb.lid,tb.lname
from tb_a ta,tb_b tb
where tb.itemid='4'
and tb.aid like '%4%'
表结构确实有点小小的问题
0 请登录后投票
   发表时间:2007-08-13  
提示一下,,应该怎么改会好一点呢?
0 请登录后投票
   发表时间:2007-08-14  
表:TB_A    
ItemID Vname Flag
1 ABC 1
2 CCC 0
3 DDD 1
4 BBB 2
5 EEE 0

表:TB_B    
LID AID Lname
1 1,2 XffBee
2 2,3,4 EIKKKK
3 4,5 LLLLLL
4 2,5 BBBCCC
5 3,4,5 BEEEEE
6 2,3,5,6 EEIIII
0 请登录后投票
   发表时间:2007-08-14  
如果坚持原有的表结构
可以如下修改:

表:TB_A    
ItemID Vname Flag
1 ABC 1
2 CCC 0
3 DDD 1
4 BBB 2
5 EEE 0
表:TB_B    
LID AID Lname
1 ,1,2,   XffBee
2 ,2,3,4, EIKKKK
3 ,4,5,   LLLLLL
4 ,2,5,   BBBCCC
5 ,3,4,5, BEEEEE
6 ,2,3,5,6, EEIIII

即AID用,,完全给包起来,因为like查询时将不能区分4和14等
sql:select a.ItemID,a.Vname,a.Flag,b.LID,b.AID,b.Lname from TB_A a,TB_B b where
a.ItemID=? and 1=(select b.AID regexp ',a.ItemID,')
0 请登录后投票
   发表时间:2007-08-14  
试试这个语句
SELECT
a.ItemID,
a.Vname,b.LID,
b.Lname
FROM
TB_A a left join TB_B b
ON a.ItemID=4
WHERE a.ItemID=4;
:o
0 请登录后投票
   发表时间:2007-08-14  
SELECT A.ItemID , A.Vname , B.LID, B.Lname FROM TB_A AS A , TB_B AS B
WHERE B.AID like '%1%' AND A.ItemId = '1';  可以不?
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics