簡體   English   中英

從兩個具有相同名稱的表中選擇數據

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

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