2013-08-27 37 views
0

我知道有一個數這個問題的答案,但我的東西非他們滿足我的需要所以在這裏我的問題是存儲過程動態/通用其中

在此基礎上SQL Fiddle我將解釋什麼,我想實現。

你如何看到它只是一個簡單的人表,所以現在我想通過他的ID得到一個人,所以我必須寫一個簡單的查詢SELECT * FROM Persons WHERE PersonID [email protected];讓他現在可以做到這一點,任何可能的組合,我會得到大量的存儲過程只是爲了這個表

所以這裏是我的問題我如何創建一個存儲過程,將所有這些功能合併爲一個。這樣我就可以在這裏給姓氏'施密特'並獲得所有施密特的。向她的所有保羅在紐約

使它easyer:

  • 這是不夠的,如果此存儲過程只能夠處理「與」
  • 也很不夠的,如果它選擇所有列

回答

1

嘗試這樣:

SELECT * FROM Persons 
WHERE PersonID = ifnull(@PersonID,personID) 
    AND LastName = ifnull(@LastName,LastName) 
    AND FirstName = ifnull(@FirstName, FirstName) 
    AND Address = ifnull(@Address,Address) 
    AND City  = ifnull(@City,City) 

,並看到它SQL Fiddle

+1

哇這很簡單:D – WiiMaxx

+0

可以請你看看[這個問題](http://stackoverflow.com/q/19007151/1993545)它與你的答案有關,在此先感謝 – WiiMaxx