假設在數據庫中的記錄如下:如何使用相同的價值觀得到記錄,除了主鍵
Id FirstName LastName OrderPrice
1 Tom Hanks 123
2 Tom Hanks 173
3 Tom Hanks 123
4 Tom Bob 123
5 Robert Hanks 123
Given Input : Id = 1
Expected OUtput : Id = 3
我知道我可以寫象下面
Declare @Id as INT = 1
Declare @FirstName as varchar(100)
Declare @LastName as varchar(100)
Declare @OrderPrice as INT
Select @FirstName = FirstName, @LastName = LastName , @OrderPrice = OrderPrice From Customers Where Id= @ID
Select ID From Customers Where FirstName = @FirstName and LastName = @LastName and OrderPrice = @OrderPrice
但有些事情,我不想寫一些東西,比如我應該在哪裏提及所有列名在哪裏。因爲實際上我正在處理的記錄包含了近100列。所以,我被要求不要使用這樣的查詢。
任何人都可以幫助我如何做到這一點?
我認爲你的數據庫設置錯了。你應該有一個鏈接表與名稱,而不是重複它們。然後從該表開始,找到客戶的訂單。如果你在數據庫結構中沒有發言權,它已經設置好了,這個建議沒有多大幫助。 – thursdaysgeek 2011-03-24 19:56:50
這是一個自然按鍵的優良參數:) – Ichorus 2011-03-24 19:58:15
無論如何,如果有多個重複項應該返回什麼?除了您用作查詢輸入的記錄以外的所有記錄?只有第一個重複記錄? – Ichorus 2011-03-24 19:59:17