佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1097|回复: 10

有关MySQL的问题!

[复制链接]
发表于 5-4-2005 08:28 PM | 显示全部楼层 |阅读模式
为什麽一个table就没问题,而两个table就有问题出现?
select id, name, type, location, from table1, table2 where name like '%$search%' or type like '%$search%' or location like '%$search%' order by id desc;

这两个table的field name和data type都是相同的,只是table的名不同而已。
虽然他们的field name和data type都是相同的,担因为有些地方不同,例如table1是A公司,
table2是B公司.所以我想把它分开。

[ Last edited by cacphy on 5-4-2005 at 08:40 PM ]
回复

使用道具 举报


ADVERTISEMENT

发表于 5-4-2005 08:33 PM | 显示全部楼层
你2个table怎样连接?还有,你的field (如id,name...)是属于哪一个table的?这当然有问题。

正确的:
select table1.id, table1.name, table2.location from table1, table2 where table1.id = table2.tid and name like...
回复

使用道具 举报

 楼主| 发表于 5-4-2005 08:58 PM | 显示全部楼层
对不起!我没有说得很清楚!所以我刚刚修改了我的发表。
field name和data type都是相同的,所以应该不用特别注明那一个field是属于那个table吧!
回复

使用道具 举报

发表于 5-4-2005 09:24 PM | 显示全部楼层
cacphy 于 5-4-2005 20:58  说 :
对不起!我没有说得很清楚!所以我刚刚修改了我的发表。
field name和data type都是相同的,所以应该不用特别注明那一个field是属于那个table吧!

不可以这么说。Field不同的话,SQL就会run internal search。有performance issue和一些unexpected error。所以照着二楼的建议做,有一定性的帮助。而且你的问题应该是像二楼说讲的一样。试看看二楼的建议。。。
回复

使用道具 举报

 楼主| 发表于 5-4-2005 10:46 PM | 显示全部楼层
试了不行!
我要的不是把两个table link起来。
如果user input了要找的资料。MySQL就会去table1找有关的资料,当table1找完了,
就会去table2找。
如果table1里的资料matched!那就会output table1里的id,name,location.而不是跟table2有关的。

haha...对不起!我的表达能力不是很好。希望谅解。
回复

使用道具 举报

发表于 5-4-2005 10:57 PM | 显示全部楼层
在想即然你兩个table之间是无关联的, 那么是否应该分开执行呢 ? 即
if (xx) {
select table1
}else {
select table2
}
回复

使用道具 举报

Follow Us
发表于 6-4-2005 12:01 AM | 显示全部楼层
不是很明白你的问题
但是大概大概明白你的问题,希望我没有猜错
你的意思是,2个table是一样的field name,field type
不同在于table 名字。
你在做search的时候希望一起search 2个table

MySQL 从 3.23.25 开始加入了一个 MERGE 表类型
你可以把这样做

CREATE TABLE t1 (id INT PRIMARY KEY, name CHAR(20),type CHAR(20),location CHAR(20));
CREATE TABLE t2 (id INT PRIMARY KEY, name CHAR(20),type CHAR(20),location CHAR(20));
INSERT INTO t1 (select * from table1 );
INSERT INTO t2 (select * from table2 );
CREATE TABLE total (id INT PRIMARY KEY, name CHAR(20),type CHAR(20),location CHAR(20))            
             TYPE=MERGE UNION=(t1,t2) INSERT_METHOD=LAST;

select * from total where name like '%$search%' or type like '%$search%' or location like '%$search%' order by id desc;

我不常用mysql,所以不知道会不会有error,你试试看。
回复

使用道具 举报

 楼主| 发表于 6-4-2005 07:15 AM | 显示全部楼层
多谢kristy坛主!
我要的就是这个。真的很感激。如果有机会希望可以报达会你。

还有lafemo,chuanseng和WuSheng ,我也非常谢谢你们。
虽然不是我要的,担也有偿试帮我。

cari真的有很多人很热心的帮助有需要的人。以后我要多些来玩才行!
回复

使用道具 举报


ADVERTISEMENT

发表于 6-4-2005 08:50 AM | 显示全部楼层
通常这样的问题, 我都会分开两个recordset来做。
回复

使用道具 举报

发表于 6-4-2005 09:54 AM | 显示全部楼层
cacphy 于 6-4-2005 07:15 AM  说 :
多谢kristy坛主!
我要的就是这个。真的很感激。如果有机会希望可以报达会你。

还有lafemo,chuanseng和WuSheng ,我也非常谢谢你们。
虽然不是我要的,担也有偿试帮我。

cari真的有很多人很热心的帮助有需 ...


不客气,不必要报答啦。
常来玩哦~
回复

使用道具 举报

发表于 11-5-2005 11:53 PM | 显示全部楼层
cacphy 于 6-4-2005 07:15 AM  说 :
多谢kristy坛主!
我要的就是这个。真的很感激。如果有机会希望可以报达会你。

还有lafemo,chuanseng和WuSheng ,我也非常谢谢你们。
虽然不是我要的,担也有偿试帮我。

cari真的有很多人很热心的帮助有需 ...

呵呵~~~
她接受以身相许的...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 23-11-2024 03:34 PM , Processed in 0.124608 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表