簡體   English   中英

1個查詢還是2個單獨的查詢?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM