[英]MySQL select from a table and check in another table if the same value exists
[英]Mysql select from table by comparing value in another table
我有兩張桌子第一和第二張。
第一張表:
ID NAME ADDRESS
1 test testing address
2 test1 testing address
3 test2 testing address
4 test3 testing address
第二表:
T_ID Partner_id date
1 2 12345678
3 4 32164584
如果輸入T_id。 然后獲取相應的Partner_id,並將其與第一個表中的ID進行比較,並選擇相應的行。 你能告訴我嗎? 在php中,我可以用兩個查詢來編寫它,但我希望它在一個查詢中。
php中的查詢:
$q=mysqli_query($conn, "SELECT Partner_id from second where T_ID=1");
$qa=mysqli_fetch_array($q);
$w=mysqli_query($conn, "SELECT * from first where ID=$qa[0]");
但是,如何結合這兩個陳述?
可以使用帶有連接操作的查詢返回指定的結果。
SELECT f.*
FROM first f
JOIN second s
ON s.Partner_id = f.ID
WHERE s.T_ID=1
請注意,如果第一個查詢返回多行,則有可能返回原始行。 (也就是說,我們不要以為T_ID
的獨特之處second
,或以給定的每一行T_ID
值將有相同的值Partner_id
。)
還有其他查詢模式將返回等效結果,但連接操作是規范模式。
SELECT * FROM first WHERE ID IN( SELECT Parent_id FROM second WHERE T_ID = 1 )
or
SELECT * FROM first WHERE ID = ( SELECT Parent_id FROM second WHERE T_ID = 1 )
嘗試使用union,看到這個鏈接
其中SQL UNION運算符組合了兩個或多個SELECT語句的結果。
SELECT * FORM first_table AS f
JOIN second_table AS s
ON s.parent_id =f.id
WHERE s.T_ID = $id
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.