我是Boxonix!
我目前正在为我的网站制作一个评论部分,我有点麻烦!当我运行此查询时,会弹出"非法混合操作'UNION'的排序规则":
SELECT *
FROM comments
JOIN users ON comments.user_id = users.id
ORDER BY users.id DESC LIMIT $LIMIT1
UNION
SELECT *
FROM comments
JOIN videos ON comments.video_id = videos.id
Run Code Online (Sandbox Code Playgroud)
我对alredy有点困惑,我经常不使用Mysql!请帮忙!
目前正在使用asp.net mvc 3 VS 2010.刚刚安装了VS 2013,现在我们的自定义过滤器无法正常工作.呈现页面时,它只显示一个空白页面.过滤器有数据并将其写出,但链接过程中的某些内容不起作用.
var response = filterContext.HttpContext.Response;
response.Filter = new MappingResponse(response.Filter);
Run Code Online (Sandbox Code Playgroud)
在visual studio 2010中,过滤器是System.Web.HttpResponseStreamFilterSink.
在visual studio 2013中,过滤器是 Microsoft.VisualStudio.Web.PageInspector.Runtime.Tracing.ArteryFilter
甚至无法在docs中找到该类.当我调用stream类时,它似乎没有链接Write方法.
这是我写出流的实际代码
var responseBuffer = UTF8Encoding.UTF8.GetBytes( htmlPage );
responseStream.Write( responseBuffer, 0, responseBuffer.Length );
Run Code Online (Sandbox Code Playgroud) 所以我现在已经绞尽脑汁待了一会儿.在Doctrine中,没有正确连接的概念.我知道你可以像右连接一样使用左连接,但我无法弄清楚我的例子,这就是为什么我在这里.
我的例子:我在Doctrine中有一个实体,它与自己有一对一的关系,称为"父".我试图让所有实体及其子(如果存在)没有重复.
通过正确的连接,这很简单,因为我可以说:
SELECT parent.*, child.*
FROM table child
RIGHT JOIN table parent ON parent.id = child.parent_id
WHERE parent.parent_id is null;
Run Code Online (Sandbox Code Playgroud)
但是使用左连接我返回结果,我无法弄清楚where子句应该过滤掉它们.
所以我的问题是"教条是否有办法正确加入"或"如何使用左连接操作,如右连接"?
- -编辑 - -
你们所说的关于改变我选择的表的顺序但是我正在使用Doctrine所以关系是child-> parent是正确的.这是我的学说查询:
我的实体:
/**
* @Entity
* @Table(name="entity")
*/
class Entity
{
...
/**
* @OneToOne(
* targetEntity="Entity",
* fetch="EAGER"
* )
* @JoinColumn(name="parent_id", referencedColumnName="id")
*/
private $parent;
...
}
Run Code Online (Sandbox Code Playgroud)
我的学说选择声明:
$em->createQueryBuilder()
->select(array('child', 'parent'))
->from('Entity', 'child')
->leftjoin('child.parent', 'parent')
->orderBy('parent.id','asc')
->getQuery()
->execute();
Run Code Online (Sandbox Code Playgroud)
我不知道如何以及如何切换表的排序.我也尝试过创建另一个从实体到自身的关系(就像我做父母一样)但是把它叫做孩子.但是,当我使用新架构doctrine更新db时抛出错误.
有任何想法吗?并感谢您的快速反应!
---编辑2 ---
左连接sql和结果:
SELECT child.id, child.changed_timestamp, child.parent_entity_id, parent.id,
parent.changed_timestamp, parent.parent_entity_id …Run Code Online (Sandbox Code Playgroud) 几个扩展提供了查看其内容的"底部窗口".Firebug和ScribeFire是主要内容出现在浏览器底部的好例子.这似乎与浏览器中的侧边栏功能非常相似.
是否有最佳实践/方法在扩展中创建底部窗口,因为浏览器没有"底部侧边栏"?
我希望能够从我的 firefox-addon 模拟击键,但目前我无法做到这一点。
我找到了这篇文章Whysimulation of Left Arrow + Shift key does not work in Firefox? 我的代码几乎是一样的,但它只做了焦点部分,而不是dispatchEvent。知道为什么会发生这种情况吗?
这是代码:
objTag.focus();
var e = document.createEvent('KeyboardEvent');
e.initKeyEvent('keydown', true, true, window, false, false, false, false, 35, 0);
objTag.dispatchEvent(e);
Run Code Online (Sandbox Code Playgroud) 如何使用日期添加或日期差异功能我有一个场景,我需要找到生日是今天或n天后的人.我怎样才能在informix中实现它.
SELECT mbr_code, fname, lname
INTO rsMbrCode, rsFName, rsLName
FROM asamembr
WHERE cust_code = membershipnumber
AND ((day(bdate) - day(CURRENT)) <= rsTest
AND MONTH(bdate) = month(CURRENT))
RETURN rsMbrCode, rsFName, rsLName WITH RESUME;
Run Code Online (Sandbox Code Playgroud) 相当多的数据库脚本具有以下形式:
IF NOT EXISTS(SELECT * FROM Countries WHERE Name = 'France')
INSERT INTO(Countries)
Run Code Online (Sandbox Code Playgroud)
但是,我也看到人们这样做:
IF NOT EXISTS(SELECT CountryID FROM Countries WHERE Name = 'France')
INSERT INTO(Countries)
Run Code Online (Sandbox Code Playgroud)
乃至:
IF NOT EXISTS(SELECT 1 FROM Countries WHERE Name = 'France')
INSERT INTO(Countries)
Run Code Online (Sandbox Code Playgroud)
最后一个的优点是它更有效:查询实际上并没有使用子查询中的任何列,因此可能更快地不将它们中的任何一个带回来.但它看起来很奇怪,所以它让我觉得它可能让一些人感到困惑.它对实际执行时间有什么影响吗?
通过context-menu模块,我检测用户点击了哪个DOM元素我的自定义上下文菜单项"Mark":
var menu = require("context-menu").Item({
label: "Mark",
contentScriptFile: data.url("context.js"),
onMessage: function (node) {
//Send the node to page-mod
}
});
Run Code Online (Sandbox Code Playgroud)
context.js:
self.on("click", function (node, data) {
self.postMessage(node);
});
Run Code Online (Sandbox Code Playgroud)
现在我想将此节点引用发送到一个page-mod模块,其中注入了pagemod的contentScript的每个页面都知道我点击的节点(并在每个选项卡中标记带有红色边框的HTML元素).
我知道postMessage()无法将消息发送到pagemod ,所以如何让这些模块进行通信?有优雅的worker解决方案吗?
我正在构建一个Firefox扩展.它将CSS注入一个网站.但我想根据用户偏好注入它.这是我的附加组件中最重要的部分:
exports.main = function() {
var pageMod = require("page-mod");
var test = require("preferences-service");
pageMod.PageMod({
include: "http://example.org/*",
contentStyle: "something here"
});
};
Run Code Online (Sandbox Code Playgroud)
但是Mozilla Firefox错误控制台出现错误:
错误:模块:undefined位于undefined无权加载:preferences-service
而且我不知道我应该做些什么才能让它发挥作用.有什么想法吗?:)也许有其他方式?
实际上,我想阅读首选项,然后生成足够的样式.如果这是有用的信息,我在defaults/preferences/prefs.js中有用户首选项.
我需要反转我的输出,我不能通过切换ORDER BY子句来做到这一点.
此代码是过去12个月,但我需要以相反的顺序显示它们.现在它已经是十月第一,但我需要它最后.如果我转到ORDER BY DATE ASC那时我会错误的几个月.
我的代码是这样的:
<?php
$result2 = mysqli_query(
$con,
"SELECT SUM(DISTRIBUTED_AMOUNT / EXCHANGE_RATE)
FROM royalties
GROUP BY DATE
ORDER BY DATE DESC
LIMIT 12"
);
while($row2 = mysqli_fetch_array($result2)) {
echo number_format($row2[0], 2, '.', '') . ', ';
}?>
Run Code Online (Sandbox Code Playgroud) firefox ×4
sql ×4
add-on ×2
mysql ×2
asp.net ×1
contextmenu ×1
date ×1
doctrine ×1
dom-events ×1
informix ×1
javascript ×1
left-join ×1
php ×1
postmessage ×1
sql-order-by ×1
sql-server ×1
xul ×1