0
我對查詢有點麻煩。表之間的聯接
我有這個DB結構
PROCESSES PROCESS_ID PROCESS_NAME
ITENS ITEM_ID item_process_id ITEM_NAME
FILES 的file_id file_item_id FILE_NAME
I運行此查詢來獲取進程ID:
$result = mysql_query("SELECT * FROM processes WHERE process_id='$process_id'");
$row = mysql_fetch_array($result, MYSQL_BOTH);
$process_id = $row['process_id'];
將這個ID在一個循環中,從表中獲取所有Itens:
$query="SELECT * FROM itens WHERE item_process_id='$process_id'";
$result = mysql_query($query) or die(mysql_error());
$num = mysql_numrows($result);
並調用項目名稱爲LOOP
問題是當我嘗試從FILES表中調用「file_name」時。 我嘗試了一個左連接到表,但沒有成功。 「file_name」變量爲空
任何人都可以幫助我理解如何解決這個問題嗎?
TKS
那麼你的查詢'files'什麼樣子的?你確定有數據嗎? – 2013-02-28 03:37:03
是的,我有數據文件表 – user2112020 2013-02-28 03:38:24
'「SELECT * FROM itens LEFT JOIN FILES FILES.item_id = itens.item_id WHERE itens.item_process_id ='$ process_id'」'。請記住,如果沒有coressponding條目,則LEFT JOIN檢索第一個表(itens)的所有結果並將其連接到表FILES,並在FILES一側填充NULL值。這可能是爲什麼你可以有空值(如果你沒有文件的某些iten) – MatRt 2013-02-28 03:38:39