如何创建一个中心参数,如Report-Date?

时间:2018-04-04 12:03:02

标签: sql sql-server tsql

我想在sql server上创建一个位置来存储报告日期,所有查询和过程都应该与这一个值相关。 通过这种方式,我只需要在一个位置更改报告日期,它对所有相关查询和过程都有效。

我开始使用标量函数从表中检索值,但这会慢慢减慢查询速度。 我尝试了一个内联表值函数,但不知道如何将它包含在查询中。 我尝试使用包含报告日期的表格并使用交叉连接。 但它说:

  

无法绑定多部分标识符

也许有些人知道该怎么做?

1 个答案:

答案 0 :(得分:2)

一种可能性是创建一个表格,让我们说import 'package:flutter/material.dart'; import 'package:flutter/scheduler.dart'; class MyHomePage extends StatefulWidget { const MyHomePage({Key key, this.title}) : super(key: key); final String title; @override _MyHomePageState createState() => _MyHomePageState(); } class _MyHomePageState extends State<MyHomePage> { final controller = ScrollController(); OverlayEntry sticky; GlobalKey stickyKey = GlobalKey(); @override void initState() { if (sticky != null) { sticky.remove(); } sticky = OverlayEntry( opaque: false, // lambda created to help working with hot-reload builder: (context) => stickyBuilder(context), ); // not possible inside initState SchedulerBinding.instance.addPostFrameCallback((_) { Overlay.of(context).insert(sticky); }); super.initState(); } @override void dispose() { // remove possible overlays on dispose as they would be visible even after [Navigator.push] sticky.remove(); super.dispose(); } @override Widget build(BuildContext context) { return Scaffold( body: ListView.builder( controller: controller, itemBuilder: (context, index) { if (index == 6) { return Container( key: stickyKey, height: 100.0, color: Colors.green, child: const Text("I'm fat"), ); } return ListTile( title: Text( 'Hello $index', style: const TextStyle(color: Colors.white), ), ); }, ), ); } Widget stickyBuilder(BuildContext context) { return AnimatedBuilder( animation: controller, builder: (_,Widget child) { final keyContext = stickyKey.currentContext; if (keyContext != null) { // widget is visible final box = keyContext.findRenderObject() as RenderBox; final pos = box.localToGlobal(Offset.zero); return Positioned( top: pos.dy + box.size.height, left: 50.0, right: 50.0, height: box.size.height, child: Material( child: Container( alignment: Alignment.center, color: Colors.purple, child: const Text("^ Nah I think you're okay"), ), ), ); } return Container(); }, ); } } 有两列:TblReportDateid
然后添加一行标识为reportDate的行,如下所示:

1

现在使用+----+------------+ | id | reportDate | +----+------------+ | 1 | 04.04.2018 | +----+------------+ 加入表格并使用LEFT JOIN运算符与主表格的>= - 列进行比较:

id