2
由於我無法解釋的原因,一個左外連接,以前工作正常,不再工作後修改其中一個表。MySQL左外連接返回NULL值
的代碼非常波濤洶涌了這一點,因爲它涉及到很多以前的連接,但在這裏我堅持這一點,它只是尋求加入其中兩個值匹配:
mysql_query ("CREATE TABLE Everything(
SELECT * from two
left outer join CPEs on CPEs.cpe_cust_index = two.cust_index2
where cust_index2 > \"0\"
)")
or die (mysql_error());#("this certainly didn't work\n");
echo "It works!\n";'
這用於匹配兩個字段(兩個長度相同的變量)並將CPE附加到兩個字段,但現在,表中的Everything顯示NULL,無論CPE的字段應該在哪裏。
我錯過了一些明顯的東西嗎?
我能想到的是two.cust_index2不再是一個唯一的字段(儘管CPEs.cpe_cust_index是唯一的),但這應該不重要。
的領域是簡單的數字,並有明確的匹配(從觀察中)
請發佈兩個表中的小數據示例。 – 2013-02-15 12:25:42
另外,建議不要在連接查詢中選擇*。一定要清楚SELECT列表中的列,因爲如果連接的表具有名稱衝突,它們將不會被正確返回。 – 2013-02-15 12:26:32
你可以發佈表定義嗎?稍微擔心,你聲明這些字段只是數字,但是你正在引用WHERE子句中的cust_index2值。如果two.cust_index2不再是唯一的,那麼您只會返回多行。 – Kickstart 2013-02-15 12:47:08