T-SQL Soundex / Difference查找重复行(T-SQL Soundex/Difference to find duplicate rows)
我有一个遗留数据库:firstname,lastname,address1,address2,address3,address4,zipcode数据分散在不同的列之间,没有一致性,例如实际的zipcode可以在任何列中,并且有很多拼写错误。
有没有办法在SP中使用像SOUNDEX / DIFFERENCE这样的东西来遍历所有内容并返回可能重复的有序列表? [它不需要快]
I have a legacy DB with: firstname, lastname, address1, address2, address3, address4, zipcode The data is scattered between the different columns with no consistency eg the actual zipcode could be in any column and there are plenty of typos.
Is there a way I could use something like SOUNDEX / DIFFERENCE in a SP to loop through everything and return an ordered list of likely duplicates? [it doesn't need to be fast]
原文:https://stackoverflow.com/questions/1875282
最满意答案
- 正确; 它属于正在处理当前请求的
FoosController
实例。- 是的,每个请求都会创建一个新的控制器实例 - 这就是为什么实例变量可用于保存单个请求的状态的原因。
- 是的,但是:如果未调用
index
,则不会初始化@foos
当您显示的代码中显示show
动作时,没有@foos
实例变量1 。
1 如果您从
show
调用了index
,那么@foos
将在页面上初始化并可用。
- Correct; it belongs to the instance of
FoosController
that's processing the current request.- Yes, each request creates a new instance of the controller–that's why instance variables can be used to hold state for a single request.
- Yes, but: if
index
isn't called,@foos
won't be initialized, There is no@foos
instance variable when theshow
action is hit in the code you show1.
1 If you called
index
fromshow
, then@foos
would be initialized and available on the page. Not that you should do this, because that's confusing concerns.
相关问答
更多-
从某种意义上说,你可以说它正在破坏封装。 我发现如果你不小心,很容易让你的商业/演示逻辑在Rails中混合在一起。 它通常在我写视图模板时开始,并且发现我需要一些我没有从控制器传递过来的值。 所以我回去,并调整控制器,以适应我所需要的视野。 经过一次调整,另一次,另一次,你看看控制器的方法,它是设置各种实例变量,这是没有意义的,除非你看视图,看看他们是什么。 所以你最终会遇到这样一种情况:你需要同时查看控制器和视图来理解,而不是单独采取一种或另一种。 我认为使用实例变量(与Binding技巧一起)只是一种将 ...
-
这就是网络的工作原理,为什么http是'无状态协议'。 您必须明白,您并未开始运行程序,并在用户注销时停止该程序。 但是,您为每个请求重新启动程序。 这是一个新的实例,一个对最后一个一无所知的新进程,并且肯定与它共享没有记忆。 事实上,处理创建和处理摧毁的Rails实例可以轻松地在两个物理上不同的服务器上运行! 没有状态(但是你放在会话存储或URL参数中)。 @在这种情况下意味着你的视图可以使用这些数据(在Ruby上下文中意味着Rails已经在做一些技巧让它在那里交付,因为这是两个不同的类,否则视图将不知道 ...
-
Rails应用程序应具有“瘦控制器”和“胖模型” ,原因如下: 每个对象应该只处理自己的职责。 控制器应该只是关于连接Web,模型和视图,这要感谢Rails不需要太多代码。 如果控制器方法反复引用同一模型的方法,则它会错误地承担模型责任; 我们说它不具有凝聚力或者它具有“特征嫉妒” 。 更有可能的是,如果模型更改,控制器将不得不并行更改。 测试模型比测试控制器更容易。 通过在模型中编写一个方法来修复它,该模型执行特定于模型的工作并在控制器中调用它(第二个选项)。 (最终你的模型会变得太胖,你也必须分解它,但 ...
-
所以你所描述的就是仪表板。 没有单一的“最佳”方式来处理这个问题,但这就是我要做的。 您的控制器应定义您将在视图中使用的对象。 现在我怀疑你正在使用像servers_controller.rb这样只定义@servers 。 如果您的视图需要其他模型,请在操作中定义它们。 假设您需要列出除服务器之外的防火墙。 继续添加@firewalls = Firewall.where(client_id: client_id)或其他内容。 只需确保您没有开始在控制器中添加业务逻辑。 一旦定义了其他变量,就可以在视图中访问 ...
-
assigns :station只会在你提出请求后返回一个值,即。 在get线之后。 在您完成请求之前,没有为该测试运行任何控制器代码。 你也不应该在rspec中使用@vars ,使用let代替,以及我在下面展示的一些其他内容, 其中许多是我从BetterSpecs学到的 问题的关键 假设domain_flavor_picker是你控制器中的一个方法,那么你应该只是模拟它,这样你就可以对它的不同返回值进行不同的测试。 因此,这显示了domain_flavor_picker的返回值之一的domain_flav ...
-
在我们提出问题之前,首先要记住的是,所有变量,无论范围如何,都只对当前请求有效。 您可以将配置值用于持久性,但全局将在请求结束时到期,与实例变量相同。 视图中可以使用控制器中设置的实例变量。 模型只能访问已直接传递给Class或实例的变量。 这意味着如果您的控制器或视图中有@first_name变量,您将无法在模型中看到它。 如果要在模型中使用它,则必须执行类似MyModelName.new( :first_name => @first_name )或an_instance_of_my_modelname. ...
-
事实并非如此。 控制器根据控制器中的实例变量在视图对象内创建新的实例变量 It isn't. The controller creates fresh instance variables inside the view object, based on the instance variables in the controller
-
实例变量在设备控制器中不起作用 - Rails 4(Instance Variables Not Working in Device Controller - Rails 4)[2022-12-22]
这就是你的SessionsController应该是这样的: class Users::SessionsController < Devise::SessionsController def new @foo = 'bar' super end end 请注意super如何低于您的自定义代码。 当你调用super ,它会调用parent方法; 在我们的例子中, Devise::SessionsController#new 。 在调用该方法并呈现new.html.erb之前,需要初始 ... -
您需要将其声明为实例变量(@),以便它在您的视图中可用。 是的,使用ajax你没有重新加载页面,但你发回的是js而不是html。 rails将响应create.js.erb任何create.js.erb 。 请注意,在此文件中,您需要访问@user数据; 如果您将其声明为user而不是@user ,则无法访问它: #app/views/relationships/create.js.erb $("#follow_form").html("<%= escape_javascript(render('users ...
-
正确; 它属于正在处理当前请求的FoosController实例。 是的,每个请求都会创建一个新的控制器实例 - 这就是为什么实例变量可用于保存单个请求的状态的原因。 是的,但是:如果未调用index ,则不会初始化@foos当您显示的代码中显示show动作时,没有@foos实例变量1 。 1 如果您从show调用了index ,那么@foos将在页面上初始化并可用。 Correct; it belongs to the instance of FoosController that's processin ...