需要SQL视图创建查询帮助

时间:2015-02-11 19:15:08

标签: mysql sql database

我有两张桌子说,

Table 1(space)
----------------------------
_id |  number  | token
1      xy123456    assasasASAS
2      xy1234567   jkshdjsddsd


Table 2(watch)
----------------------------
_id  |  number  |
 1      1234567

我需要一个像这样的视图(基本上是连接手表和空间,其中_id不相同 和space.number一样%(watch.number)

View(integrate)
-------------------------------
_id  |  number    |  token
1       xy1234567    jkshdjsddsd

我在ddl下面执行,虽然它没有抛出任何错误但也没有产生所需的输出,我真的在敲打我的脑袋却无法弄清楚问题,要注意我不是一个sql家伙所以我可能会这样做有些傻事。请帮帮我。

CREATE 
    ALGORITHM = UNDEFINED 
    DEFINER = `root`@`localhost` 
    SQL SECURITY DEFINER
VIEW `integrate` AS
    select 
        `watch`.`_id` AS `_id`,
        `space`.`number` AS `number`,
        `space`.`token` AS `token`
    from
        (`watch`
        join `space`)
    where
        ((`space`.`number` like ('%' + `watch`.`number`))
            and (`watch`.`_id` <> `space`.`_id`))

1 个答案:

答案 0 :(得分:1)

简单join适用于此:

select w.id, 
       s.number,
       s.token
from watch w
    join space s on w.id != s.id and s.number like concat('%',w.number)