A表
id title
1  123
2  456
3  789
....
B表
id name
1  987 
2  654
3  321
....
SQL代码为
select A表. * , B表. * from A表 A, B表 B where A.id in (1,2,3)
查询结果有重复数,怎么弄才不显示重复数??

解决方案 »

  1.   

    这样?
    select A表. * , B表. * from A表 A, B表 B where A.id=B.id A.id in (1,2,3)
      

  2.   

    更正
    select A表. * , B表. * from A表 A, B表 B where A.id=B.id and A.id in (1,2,3) 
      

  3.   

    本帖最后由 xuzuning 于 2013-04-07 18:57:31 编辑
      

  4.   

    字段没有关联,都是信息有关联的,只能用foreach 吗?
      

  5.   

    整个情况是这样的:
    A表结构
    id name   info
    1  栏目一  (存储样式为a:{s:6:"picid";s:2:"74";s:9:"text";s:1:"存储内容区";})
    2  栏目二  (存储样式为a:{s:6:"picid";s:2:"75";s:9:"text";s:1:"存储内容区";})
    B表结构
    id url
    74 图片路径
    首先通过查询获取到了A表info中picid的id号为74,75的数组
    输出样式为:
    Array
    (
        [0] => 74
        [1] => 75
    )
    然后在查询B表id为74,75的数据
    然后如何关联输出这2张表的内容呢?
    输出结果如何为:
    Array
    (
        [0] => Array
            (
                [id] => 1
                [name] => 栏目一
                [url] => 图片路径
                [info] => info中text的内容
            )    [1] => Array
            (
                [id] => 2
                [name] => 栏目一
                  [url] => 图片路径
                  [info] => info中text的内容
            )
    ....
      

  6.   

    取出 info 中的 text 的内容的表达式
    substring_index(substring_index(substr(info, locate('"text"', info)), '"', 4), '"', -1) as info两表的关联条件
    B表.id = substring_index(substring_index(substr(info, locate('"picid"', info)), '"', 4), '"', -1)
      

  7.   

    即然有重复,其实用Group by 分组一下,可以间接的去重复