大家好, 请!!
表: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 |
?
1 楼 eddie_lau 2007-08-12
怎么没人来顶一下啊?
顶
顶




2 楼 ddandyy 2007-08-12
不可能
表结构设计有问题
表结构设计有问题
3 楼 duronshi 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%'
表结构确实有点小小的问题
from tb_a ta,tb_b tb
where tb.itemid='4'
and tb.aid like '%4%'
表结构确实有点小小的问题
4 楼 eddie_lau 2007-08-13
提示一下,,应该怎么改会好一点呢?
5 楼 ddandyy 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
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
6 楼 spinach 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,')
可以如下修改:
表: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,')
7 楼 simon.yang 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
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
8 楼 fnet 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'; 可以不?
WHERE B.AID like '%1%' AND A.ItemId = '1'; 可以不?