[英]1 query or 2 separate queries?
是否可以從兩個完全相同的表中獲取數據並打印出來? 目前,我可以在TABLE1中搜索,但不能在TABLE2中搜索。
已編輯
$name= $_SESSION['NAME'];
USER
ID - NAME
1 - AAAA
2 - BBBB
3 - CCCC
4 - DDDD
5 - EEEE
TABLE1
ID - CODE - BUYSELL
1 -A - Buying
2 - A - Buying
3 - B Buying
4 - B - Selling
5 - C - Selling
"SELECT * from TABLE1, TABLE2, USER WHERE '$person' = USER.NAME
AND TABLE1.ID = USER.ID";
TABLE2
ID - CODE - YESNO - CAR
1 - A - YES - VOLVO
2 - B - YES - FORD
3 - C - YES - M
4 - D - NO - BMW
5 - A - NO - VOLVO
(AND TABLE2.ID = USER.ID?????)
我要所有人都搜索表1和2嗎? 但是添加TABLE2.ID = USER.ID
基本上是在兩個表中尋找相同的值。 因此,如果我想要來自表1和2的USERID 1的代碼。
在1個查詢或2個查詢下有可能嗎?
使用UNION
將兩個查詢的結果合並為一個:
(SELECT id, name AS value, "users" AS tbl_name FROM users WHERE ...)
UNION
(SELECT id, code AS value, "codes" AS tbl_name FROM codes WHERE ...)
假設您USER.ID與TABLE1.ID和TABLE2.ID相同,並且是相關的連接,那么我建議使用JOIN。
SELECT *
FROM `user` AS a
JOIN `table1` AS b
JOIN `table2` AS c
ON a.id = b.id || a.id = c.id
WHERE (a.name = '".$person."')
GROUP BY a.id
您可以使用MySQL JOIN 。
SELECT USER.NAME, TABLE1.ID AS `T1ID`, TABLE2.ID AS `T2ID`
FROM USER
LEFT JOIN TABLE1 ON TABLE1.ID=USER.ID
LEFT JOIN TABLE2 ON TABLE2.ID=USER.ID
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.