[英]SELECT data from two tables with same name
我試圖找到一種方法來從同一查詢中的兩個表中選擇數據,如下所示:
假設我有這個作為table1
id | item | qty
1 | 1bb1 | 12
2 | 1cc1 | 10
和表2
id | item | qty
6 | 1bb1 | 12
7 | 1vv1 | 4
而且我有一個導入文件,其中包含來自Excel工作表的數據項 $sheetData[$i]['A']
,我需要使用它來查找兩個表是否都具有此項目。
我的代碼如下:
$query1="SELECT * FROM table1.item,table2.item WHERE item ='".$sheetData[$i]['A']."'";
$result1= mysql_query($query1);
if(mysql_num_rows($result1)>0){
echo "This Item Found in Both Tables";
echo $sheetData[$i]['A'];
echo "<br />";
}
else{
echo "Item Could Not Be Found in both tables";
echo $sheetData[$i]['A'];
}
基本上,我想確定導入的項目是否在兩個表中都找到。 我希望這對您有意義!
任何幫助將非常感激
編譯器無法確定需要比較的項目。 表1中的項目或表2中的項目
因此將查詢寫為:
SELECT A.* , B.*
FROM table1 A, table2 B
WHERE A.item = B.item AND
A.item = '".$sheetData[$i]['A']."'
嘗試-
"SELECT t1.id, t1.item, t1.qty, t2.id id_2, t2.qty qty_2 FROM table1 t1
INNER JOIN table2 t2 ON t2.item = t1.item
WHERE table1.item ='".$sheetData[$i]['A']."'"
盡量避免使用mysql ,現在已不建議使用。 mysqli / PDO代替。
嘗試這樣的事情:
SELECT COUNT(*)
FROM (
SELECT DISTINCT 1
FROM table1
WHERE item = ?
UNION ALL
SELECT DISTINCT 1
FROM table2
WHERE item = ?) AS t
如果該項目存在於兩個表中,則返回2;如果僅存在於1個表中,則返回1;如果兩個表中的任何一個都不存在,則返回0。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.