[英]Query two tables to obtain a result in mysql + php query
我有兩張桌子。
表1包含字段:
| Ensemble_ID | varchar(50) | NO | PRI | | |
| Target | text | YES | | NULL | |
| Gene_Length | int(5) | YES | | NULL | |
| miRNA | varchar(50) | NO | PRI | | |
| position | int(4) | YES | | NULL | |
| Prediction | text | YES | | NULL | |
我的表2包含字段:
|Ensemble_ID | varchar(50) | NO | PRI | | |
| miRNA | varchar(50) | NO | PRI | | |
| miRNA_Length | int(2) | YES | | NULL | |
| mfe | decimal(2,0) | YES | | NULL | |
| pvalue | decimal(4,0) | YES | | NULL | |
| no_of_seeds | int(1) | YES | | NULL | |
我需要一個類似的結果
|Ensemble_ID |Gene Length|miRNA|miRNA Length|mfe|P-value|Position|Prediction|No of Seeds|
我是mysql的新手。 任何人都可以幫助我編寫查詢。
幫助表示贊賞。
這是我的PHP附件..由於顯示查詢錯誤,我無法獲得結果
<?php
$a = $_REQUEST["miRNA"];
$b = $_REQUEST["target"];
// $result = db::table("`table`") -> pluck("*") -> where("miRNA",$a) -> select() -> get();
$mysqli = new mysqli("localhost", "root", "password", "mysql");
$a = $mysqli -> escape_string($a);
$b = $mysqli -> escape_string($b);
$a = $mysqli->query("SELECT * FROM bio3 WHERE miRNA = '$a' AND Target LIKE '%$b' INNER JOIN bio4 on bio3.ensemble_id = bio4.ensemble_id ORDER BY bio4.pvalue ASC;");
// $result = $a -> fetch_assoc();
$i = 0;
while ($row = $a -> fetch_assoc()) {
$result[$i] = $row;
$i++;
}
$mysqli->close();
for($a=0;$a<sizeof($result);$a++){
print '<tr>
<td>'.htmlentities($result[$a]["Target"]).'</td>
<td>'.htmlentities($result[$a]["Gene Length"]).'</td>
<td>'.htmlentities($result[$a]["miRNA"]).'</td>
<td>'.htmlentities($result[$a]["miRNA Length"]).'</td>
<td>'.htmlentities($result[$a]["mfe"]).'</td>
<td>'.htmlentities($result[$a]["pvalue"]).'</td>
<td>'.htmlentities($result[$a]["position"]).'</td>
<td>'.htmlentities($result[$a]["Prediction"]).'</td>
<td>'.htmlentities($result[$a]["No of Seeds"]).'</td>
</tr>';
}
?>
連接兩個表,例如:
SELECT t1.Ensemble_ID, t1.Gene_Length, t1.miRNA, t2.miRNA_Length, t2.mfe, t2.pvalue, t1.position, t1.Prediction, t2.no_of_seeds
FROM table1 t1 INNER JOIN table2 t2
ON t1.Ensemble_ID = t2.Ensemble_ID
WHERE t1.miRNA = 'abc'
AND t1.target LIKE '%xyz'
ORDER BY t2.pvalue ASC;
使用Join獲得您想要的結果。 見下文:
SELECT
A.Ensemble_ID,
Gene_Length,
A.miRNA,
miRNA_Length,
mfe,
Pvalue,
Position,
Prediction,
No_of_Seeds,
FROM Table1 A
JOIN
Table2 A ON A.Ensemble_ID=B.Ensemble_ID
您可以像這樣查詢...
SELECT
A.Ensemble_ID,
Gene_Length,
A.miRNA,
B.miRNA_Length,
B.mfe,
B.Pvalue,
Position,
Prediction,
No_of_Seeds,
FROM Table1 A
JOIN
Table2 B ON A.miRNA=B.miRNA
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.