Mysql从3个表格中选择
我有3个不同的表格结构,我会称它们为A,B,C。Mysql从3个表格中选择
我需要做在同一时间所有的3个表进行搜索,让我需要对:
A.name LIKE%谷歌%B.company LIKE%谷歌%和C.company LIKE% Google%
对于提到的“查询类型”有一个查询可能吗?
最好的问候!
这里是我要找的
Select from table A where A.name LIKE %something% inner join B on b.company LIKE %something% and after that I need to do the samething for table C..but I don't know how...
查询:
SELECT name FROM firmen WHERE name LIKE '%Felsengartenkellerei Besigheim eG%'
UNION
SELECT firma FROM daten WHERE firma LIKE '%Felsengartenkellerei Besigheim eG%'
UNION
SELECT firma FROM ver WHERE firma LIKE '%Felsengartenkellerei Besigheim eG%'
不知道你正在试图做的,因为我们没有模式到底是什么,但大概A是公司的表格,其中'名称'字段对应于B和C中的外键“公司”字段,如果那样的话那么你有些事情是这样的:
SELECT * FROM A, B, C
WHERE A.name LIKE '%Google%'
AND B.company = A.name
AND C.company = A.name
编辑,所以从你的评论中你说他们是而不是外键,你想选择所有具有特定字段'LIKE'Google的行,你只需要一次做一个:
SELECT * FROM A WHERE name LIKE '%Google%'
SELECT * FROM B WHERE company LIKE '%Google%'
SELECT * FROM B WHERE company LIKE '%Google%'
如果所有这三个表都具有相同的模式(或者它们有几个共同的字段,并且只是按照相应的顺序选择这些字段),如果您想加入这些3个查询的联合结果在一起。
假设他们的所有3个有“URL”或“webaddr”领域,它们分别具有“递减”,“说明”和“信息”字段:
SELECT url, desc FROM A WHERE name LIKE '%Google%'
UNION
SELECT webaddr, description FROM B WHERE company LIKE '%Google%'
UNION
SELECT url, info FROM B WHERE company LIKE '%Google%'
有一个很好的解释MySQL中的UNION和UNION ALL的语义tutorialspoint
可以请给我一个例子与联盟如何加入结果请一起,我避风港睡了50个小时,所以现在我想不起来了。谢谢 – Uffo 2009-12-08 02:32:43
更新给UNION – 2009-12-08 02:35:27
的例子我的查询看起来是这样的: SELECT名字从firmen WHERE名称LIKE%Felsengartenkellerei贝西格海姆比如% UNION SELECT公司从回到名单Daten WHERE公司LIKE%Felsengartenkellerei贝西格海姆比如% UNION SELECT公司从任何公司像%Felsengartenkellerei Besigheim eG% 错误: -------------------------- #1064 - 你有你的SQL语法错误;检查与您的MySQL服务器版本相对应的手册,在'%Felsengartenkellerei Besigheim eG% UNION '附近使用正确的语法。SELECT company FROM daten WHERE compan'at line 1 ------------- ---------- – Uffo 2009-12-08 02:38:39
你可以详细介绍一下你想做什么吗?这三张表是以某种方式相关的?模式结构将会非常有用。 – 2009-12-08 02:18:41
这3个表是否相互独立?只是为了详细说明dlo的提示......在这两个表中是否有任何外键关系? – 2009-12-08 02:21:08
不,完全不同的表格结构...我需要对它们进行搜索...并且如果我找到了它正在寻找的用户,我需要显示它!以下是需要搜索的字段名称: 对于表A - >名称对于表B - >公司对于表C - >公司 – Uffo 2009-12-08 02:24:40