ホームページ >
記事 > バックエンド開発 > mysql データベース内の複数のテーブルを循環クエリ ステートメントにマージする方法を探していますか?
mysql データベース内の複数のテーブルを循環クエリ ステートメントにマージする方法を探していますか?
WBOYオリジナル
2016-06-13 13:46:111333ブラウズ
mysql データベース内の複数のテーブルをマージするクエリ ステートメントをお探しですか? $str="SELECT * FROM talbe getting (name like '%Obama%'||occupation like '%politician%') limit ".($ page -1)*$num."
PHP コード
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->
$conn=@mysql_connect("localhost","root","123456","test");//连接test数据库后,如何将test下的各个表合并查询输出结果?
貌似
for(...){//循环求出表名
....
tableabcxyz= talbe1,talbe2,...talbe3
}
$str="SELECT * FROM talbeabcxyz having ( 职业 like '%医生%') limit ".($page-1)*$num."
....
解決。
------解決策---------------------- クエリ用にすべてのテーブルをリンクするために各テーブルに外部キーを確立します。 >例: 表 1: CREATE TABLE `mis_link` ( `lid` int(6) NOT NULL, `cid` int(6) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET =utf8; テーブル 2: CREATE TABLE `mis_commodity` ( `cid` int(6) NOT NULL auto_increment, `comName` varchar(20) NOT NULL, `comPrice ` varchar(20) NOT NULL, PRIMARY KEY (`cid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; テーブル 3: CREATE TABLE `mis_order` ( `oid ` int(6) NOT NULL auto_increment, `sid` int(6) NOT NULL, `cid` int(6) NOT NULL, `ordTime` varchar(20) NOT NULL デフォルト '' , `ordPrice` varchar(20) NOT NULL デフォルト '', PRIMARY KEY (`oid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
SQL コード
o.oid、l.lid、c.cid、comName、comPrice、ordTime を選択します
注文ミス o、リンクミス l、商品ミス c から
ここで、o.oid=l.lid および c.cid=l.cid;
<br>------解決策---------<font color="#e78608"></font>タルベはそれが何を意味するのか理解できません... table それは理にかなっています...<br><br>select name from table1 where name like "obama%"<br>union<br>select name from table2 where name like "obama%"<br><br><br>結合演算を使用してみてください。ただし、選択された列の数が一貫していなければならないことに注意してください。矛盾する場合は、null を使用してそれを補うことができます。
<br><br>------解決策---------<font color="#e78608"></font><br>