Mysql查询选择每年没有订单的客户(Mysql query select customers with no orders in each year)
我有两张桌子,一张是客户,另一张是订单
SELECT customers.customer_name, orders.order_date FROM customers Left Join orders on (customers.customer_id = orders.customer_id) WHERE not orders.customer_id IN (SELECT customer_id from orders where Year(order_date) = Year(@Parameter1)) and not orders.order_date is null
这工作,但我想这样做每年得到像这样somthing结果
|Year | customer_id | |2010 | 1 | |2010 | 2 | |2011 | 2 | |2011 | 3 | |2012 | 1 |
i have 2 table's one with customers and one with orders
SELECT customers.customer_name, orders.order_date FROM customers Left Join orders on (customers.customer_id = orders.customer_id) WHERE not orders.customer_id IN (SELECT customer_id from orders where Year(order_date) = Year(@Parameter1)) and not orders.order_date is null
this works but i want to do this for each year to get somthing like this as result
|Year | customer_id | |2010 | 1 | |2010 | 2 | |2011 | 2 | |2011 | 3 | |2012 | 1 |
原文:https://stackoverflow.com/questions/40929492
更新时间:2023-04-19 13:04
最满意答案
您可以使用要
filter
的键/值来传递对象以进行过滤:ng-repeat="group in groups | filter:{part:1}"
You can pass an object to
filter
with the key/value you want to filter on:ng-repeat="group in groups | filter:{part:1}"
相关问答
更多-
ng-repeat过滤器是空循环(ng-repeat filter is empty loop)[2023-06-29]
你可能想要的是别名重复的结果。 来自Angular文档 : variable in expression as alias_expression - 您还可以提供一个可选的别名表达式,然后在应用过滤器后存储转发器的中间结果。 通常,这用于在转发器上的筛选器处于活动状态时呈现特殊消息,但筛选结果集为空。 例如: item in items | filter:x as results item in items | filter:x as results将重复项的片段存储为结果,但仅在通过过滤器处理了项之后。 ... -
通过调用控制器功能,你可以试试这个{{ showValue(value.type) }}调节器 $scope.showValue = function(type){ if(type=="currency"){ return $filter('currency')(type, 'RUB '); } return type; ...
-
将过滤器添加到ng-repeat(Adding filter to ng-repeat)[2022-04-08]
您可以使用要filter的键/值来传递对象以进行过滤: ng-repeat="group in groups | filter:{part:1}" You can pass an object to filter with the key/value you want to filter on: ng-repeat="group in groups | filter:{part:1}" -
在ng-repeat中使用过滤器(Using filter in ng-repeat)[2022-12-01]
首先你应该将Angular版本升级到最新版本,继续使用Angular 1.0.x是没有意义的{{ fruit }}First thing you should upgrade you Angular Version to latest, it would not make sense to stay with Angular 1.0 ... -
以下是我使用过滤器仅显示过去两天的订单的示例 .filter('getOrders', function() { return function (orders) { var filtered_list = []; for (var i = 0; i < orders.length; i++) { var two_days_ago = new Date().getTime() - 2*24*60*60*1000; var last_modified = ne ...
-
请参见http://jsbin.com/xuyuy/1/edit 在您的转发器中,您可以创建新阵列,即:人员过滤 ng-repeat="person in personsfilterd = (persons | filter : search ) 之后只显示orignal数组和过滤数组的长度: Showing {{personsfilterd.length}} of {{persons.length }} results 完整代码: var app = angular.module('app', []) ...
-
您无法观看过滤器的更改。 但是,正如AndreM96在评论中所说,您可以在搜索框中注意更改。 只需指定以下内容: 然后在你的onSearch()函数中,你可以做任何你想要做的逻辑。 每次更改输入框时它都会运行。 (并且通过关联,每次使用过滤器时) Yo ...
-
我认为问题是你如何将你的过滤器添加到ng-repeat 。 这个语法对我来说有点陌生,但我在这个codepen中工作了 其核心是理解您尝试执行的表达式。 我问了一个评论: 我是否理解你想要a)按日期范围过滤(starDate thru endDate)&b)你想根据键/值搜索过滤那个'过时的'数据集 您回复了: 这正是它...... 话虽这么说,理解过滤器和表达式的最好方法是将它们视为一个逻辑位链。 所以对此: listData | dateRange:startDate:endDate | filter: ...
-
您可以创建自定义过滤器。在你的控制器中: $scope.customFilter = function(item) { if('Condition on your item') return true; return false; } You can create a custom filter.您可以在var中检索过滤后的数据,如下所示:因此,在ng-repeat中你可以执行类似filteredProducts.length You can retrieve the filtered data in a var like this :
相关文章
更多- 常用HQL(Hibernate Query Language)查询
- Solr 使用自定义 Query Parser
- Solr 使用自定义 Query Parser
- Struts2标签select的使用
- Mysql错误:Ignoring query to other database解决方法
- solr学习笔记二-------solr query查询的参数
- MySql 查询语句中包含中文时不能查询结果 编码问题!
- MongoDB学习 (五):查询操作符(Query Operators).1st
- MySQL慢查询日志
- solr delete query
最新问答
更多- 您如何使用git diff文件,并将其应用于同一存储库的副本的本地分支?(How do you take a git diff file, and apply it to a local branch that is a copy of the same repository?)
- 将长浮点值剪切为2个小数点并复制到字符数组(Cut Long Float Value to 2 decimal points and copy to Character Array)
- OctoberCMS侧边栏不呈现(OctoberCMS Sidebar not rendering)
- 页面加载后对象是否有资格进行垃圾回收?(Are objects eligible for garbage collection after the page loads?)
- codeigniter中的语言不能按预期工作(language in codeigniter doesn' t work as expected)
- 在计算机拍照在哪里进入
- 使用cin.get()从c ++中的输入流中丢弃不需要的字符(Using cin.get() to discard unwanted characters from the input stream in c++)
- No for循环将在for循环中运行。(No for loop will run inside for loop. Testing for primes)
- 单页应用程序:页面重新加载(Single Page Application: page reload)
- 在循环中选择具有相似模式的列名称(Selecting Column Name With Similar Pattern in a Loop)
- System.StackOverflow错误(System.StackOverflow error)
- KnockoutJS未在嵌套模板上应用beforeRemove和afterAdd(KnockoutJS not applying beforeRemove and afterAdd on nested templates)
- 散列包括方法和/或嵌套属性(Hash include methods and/or nested attributes)
- android - 如何避免使用Samsung RFS文件系统延迟/冻结?(android - how to avoid lag/freezes with Samsung RFS filesystem?)
- TensorFlow:基于索引列表创建新张量(TensorFlow: Create a new tensor based on list of indices)
- 企业安全培训的各项内容
- 错误:RPC失败;(error: RPC failed; curl transfer closed with outstanding read data remaining)
- C#类名中允许哪些字符?(What characters are allowed in C# class name?)
- NumPy:将int64值存储在np.array中并使用dtype float64并将其转换回整数是否安全?(NumPy: Is it safe to store an int64 value in an np.array with dtype float64 and later convert it back to integer?)
- 注销后如何隐藏导航portlet?(How to hide navigation portlet after logout?)
- 将多个行和可变行移动到列(moving multiple and variable rows to columns)
- 提交表单时忽略基础href,而不使用Javascript(ignore base href when submitting form, without using Javascript)
- 对setOnInfoWindowClickListener的意图(Intent on setOnInfoWindowClickListener)
- Angular $资源不会改变方法(Angular $resource doesn't change method)
- 在Angular 5中不是一个函数(is not a function in Angular 5)
- 如何配置Composite C1以将.m和桌面作为同一站点提供服务(How to configure Composite C1 to serve .m and desktop as the same site)
- 不适用:悬停在悬停时:在元素之前[复制](Don't apply :hover when hovering on :before element [duplicate])
- 常见的python rpc和cli接口(Common python rpc and cli interface)
- Mysql DB单个字段匹配多个其他字段(Mysql DB single field matching to multiple other fields)
- 产品页面上的Magento Up出售对齐问题(Magento Up sell alignment issue on the products page)