2010-04-28 88 views
0

如何使這個工作在MySQL?嵌套的SQL語句使用和

選擇ID,COM​​PANY_NAME,contact1,郊區,類別,PHONE從維多利亞地方(城市(選擇allsuburbs郊區))和類別= '銀行'

這下面的語句是工作: 選擇ID,COM​​PANY_NAME ,contact1,郊區,類別,從維多利亞PHONE其中城市(選擇allsuburbs郊區)

如果我添加「和」,它給了我一個空結果, 感謝

+0

您確定有滿足這兩個條件的行嗎?我認爲你的查詢是可以的。 – Sadat 2010-04-28 06:35:40

回答

1

瞭解如何加入工作。

select 
    v.ID,v.COMPANY_NAME,v.contact1,v.SUBURB,v.CATEGORY,v.PHONE 
from 
    Victoria v 
    inner join allsuburbs s on s.suburb = v.city 
where 
    v.CATEGORY='Banks' 

除此之外,您的查詢並沒有很大的意義。

  • 您的表格是namend Victoria,但它包含一個名爲city的字段?!你的其他城市也有自己的餐桌嗎?
  • 您有一個名爲allsuburbs表,但你的標準是:Victoria.city等於allsuburbs.suburb,即使場名爲Victoria.suburb存在?那麼,Victoria.suburb是什麼?
  • 您的餐桌名爲allsuburbs。你有另外一張桌子是否有郊區,或者這是你唯一的一張桌子?如果它是你唯一的名字,那麼這個名字是多餘的。
  • 您有一個字段contact1。你有contact2 ... contact10以及?數據庫設計不好。
  • 爲什麼你的一半字段名在大寫字母中,而不是全部(或不是全部)?

呵呵,通常的SQL格式是:大寫的SQL關鍵字,字段名等以大小寫混合/小寫形式。更容易閱讀。

+0

加入是一個更好的主意 – klay 2010-04-28 06:46:45

+0

@klay:和我問的其他問題? – Tomalak 2010-04-28 06:48:06

0

我想你可能會被錯誤地安排括號?

.. PHONE from Victoria where 
(city in (select suburb from allsuburbs)) and CATEGORY='Banks' 

我猜應該是:

.. PHONE from Victoria where 
city in (select suburb from allsuburbs) and CATEGORY='Banks' 

不知道這更有意義,但第一種情況是沒有一個確定的SQL語句,我相信。

+0

這兩個是相同的,額外的一對parens沒有任何區別。 – Tomalak 2010-04-28 06:37:02