2014-04-07 158 views
0

所以我所有的其他查詢工作得很好。除了這個不會退回任何結果的那個。與多個表的MySQL查詢問題

$var = $pdo->prepare("SELECT id, sku, quantity, style FROM catalina_warehouse, branford_warehouse WHERE sku='$data_search'"); 
$var->execute(); 

我沒有看到這裏的問題,但如果我刪除逗號兩個表名之間,然後它的工作原理,並從第一隻表拉,但如果我離開逗號有那麼沒有結果被拉到。

+0

兩個表中都是'sku'嗎?如果是這樣,你需要用表名 – AgRizzo

+0

在問題中添加表結構。 –

+1

如果'branford_warehouse'中沒有數據,那麼您將不會收到任何數據,如果兩個表中都存在'sku',則會出現錯誤(您可能忽略) –

回答

0

您需要在選擇行上的列上指明那些列來自哪個表。

另一方面,我假設2倉庫表具有相同的列,但它們只代表2個不同的位置。這通常不是一個好的DB設計實踐。您可能會遇到可能導致數據完整性問題和冗餘的規範化問題。你應該有一個產品表,其中包含各種信息,以及一列表明它位於哪個倉庫,另一個表格列出了倉庫及其所有信息。使倉庫列成爲外鍵引用倉庫表,並且您是黃金。這可以幫助數據完整性和查詢設計。但是,如果我的假設是錯誤的,忽略這一點。

+0

感謝Andrew的建議,我將繼續並將這一建議付諸實踐。 – Mike

+0

不知道數據庫如何工作,您的產品可以安置在多個倉庫嗎?如果是這樣,那就需要不同的安排。如果你能詳細說明你的數據庫是如何工作的(列出表格和列),我們可以給你一個關於如何更好地設計它的更好的想法。 – Andrew

+0

那你說的是對的。這是在一個倉庫下,我只是分開了兩種類型的產品。我將所有項目合併到一個表格中,現在有4列顯示id,sku,數量和樣式。 – Mike