![](/img/trans.png)
[英]Using PHP, how do I query this mySQL database across these three tables?
[英]In PHP, how do I query a mySQL database using multiple “IN” statements across different tables?
我試圖弄清楚如何有兩個“ IN”語句。
盡管我不知道如何使用兩個嵌套的select語句,但我正在嘗試獲得類似的內容。
$query_row=mysql_query(
"SELECT DISTINCT * FROM table_a WHERE field_1 IN
(SELECT field_1 FROM table_b WHERE field_2 = $field_2),
(SELECT field_3 FROM table_c WHERE field_4 = $field_4)
ORDER BY field_5 DESC
");
如果我刪除(SELECT...
位)之一,它是有效的,但嘗試將它們都放不下。
表a在表B和C中具有匹配的值:分別為字段2和4。
我該如何工作?
取決於您是否要測試IN中的一個還是兩個:
WHERE field_1 IN (SELECT field_1 FROM table_b WHERE field_2 = $field_2) AND/OR field_1 IN (SELECT field_3 FROM table_c WHERE field_4 = $field_4) ...
您可以嘗試使用UNION:
SELECT DISTINCT *
FROM table_a
WHERE field_1 IN (SELECT field_1 FROM table_b WHERE field_2 = $field_2
UNION
SELECT field_3 FROM table_c WHERE field_4 = $field_4)
ORDER BY field_5 DESC
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.