繁体   English   中英

SELECT DISTINCT 不适用于 INNER JOIN 和 ORDER BY newid()

SELECT DISTINCT not working with INNER JOIN and ORDER BY newid()

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我正在尝试查询葡萄酒和酿酒厂的数据库,以从不同的酿酒厂获取 4 种随机葡萄酒。 不幸的是,我仍然在我的结果中看到一些重复的酒厂,并且在我的查询中添加“DISTINCT”不适用于newid() function。 我也尝试过“GROUP BY”和没有解决方案的子查询。 有什么建议么?

SELECT TOP(4) w.ID_Winery, w.appellation, w.delete_wine, w.Description_brief, w.wine_vintage, a.ID_Winery, a.weblogin, a.Winery, a.WebSiteUrl 
FROM Wines w
INNER JOIN Wineries a
    ON w.ID_Winery = a.ID_Winery
WHERE w.appellation = 'Lorem Ipsum'
    AND a.weblogin !=""
    AND w.delete_wine !=1
    AND a.Winery = 1
    AND a.WebSiteUrl !=""
    AND a.okWinery = "yes"
    AND w.Description_brief
        LIKE '%Lorem Ipsum%'
ORDER BY newid()
1 个回复

这应该这样做:

SELECT TOP 4 *
FROM (
    SELECT w.ID_Winery, w.appellation, w.delete_wine, w.Description_brief, 
        w.wine_vintage, a.ID_Winery, a.weblogin, a.Winery, a.WebSiteUrl,
        row_number() over (partition by w.ID_Winery order by newid()) rn
    FROM Wines w
    INNER JOIN Wineries a
        ON w.ID_Winery = a.ID_Winery
    WHERE w.appellation = 'Lorem Ipsum'
        AND a.weblogin !=""
        AND w.delete_wine !=1
        AND a.Winery = 1
        AND a.WebSiteUrl !=""
        AND a.okWinery = "yes"
        AND w.Description_brief
            LIKE '%Lorem Ipsum%'
) t
WHERE rn=1
ORDER BY newid()

FWIW,我不喜欢按 newid 订购。

1 INNER JOIN不适用于主键

我有表1: 和表2: SOME_NUMBER与table2.ID相同。 我想得到像这样的输出:table1.ID,table1.some_text,table2.name,它应该与以下代码一起使用: 在这种情况下,输出为空,但是如果在最后一行中将table2.id更改为 ...

2 INNER JOIN不适用于PHP PDO MySQL

试图让INNER JOIN上班让我发疯,所以我非常希望有人可以在这里帮助我。 我在数据库中有两个表: 这两个表都有一个称为EmpID的列,因此我可以跟踪将哪些雇员分配给哪个部门和哪个分支。 我正在做一个报告,查找将哪些雇员分配到指定的部门和分支机构,不包括所有其他雇员,因此INN ...

3 INNER join不适用于PHP中的PDO

我面临一个非常奇怪的问题。 我有一个非常简单的SQL Server查询,并且在任何环境下都能正常工作。 我运行了它,这很好,但是在我的PHP中,由于某种原因,代码不起作用,并且它返回空数组: 我已将INNER JOIN更改为LEFT RIGHT OUTTER ,但仍得到0。任何想法吗 ...

4 INNER JOIN 不适用于多表 select 语句中的第一个表

我正在尝试 select 数据来自同一个表两次,它可以工作,但它不允许我使用INNER JOIN列表中的第一个表,如果我使用连接中列表中的第二个表它可以工作所以这是工作正常的查询 但是当我这样做时 我开始收到此错误无法绑定多部分标识符“RIT_First.ItemId”。 那么是不是我们只能使用连接 ...

6 'IN'和'INNER JOIN'关键字不适用于数据库

我正在做我的高级项目,我们正在使用嵌入式Apache Derby数据库。 我正在尝试从下面的三个表中查询数据,但是遇到了麻烦。 在上表中,(**)表示需要检索的数据。 我相信下面附加的查询应该可以使用,但是执行后,我会收到一条错误消息:java.sql.SQLSyntaxErro ...

7 instanceof不适用于“或”

我正在使用Java进行Web项目。 我的同事已经完成了套接字部分,包括对象序列化和反序列化。 我需要做的是开发将被序列化和反序列化以发送和接收它们的类。 序列图很简单: 客户端向服务器发送一个字符串 服务器使用接收到的字符串创建一个对象 服务器将对象发 ...

8 Jquery不适用于.this

正如我所说:Jquery不起作用。这个选择,我做错了什么? 虽然它适用于其他参数。 这是mt迷你画廊的代码,它应该放大所选图像并向下移动未选中(适用于单个元素) HTML部分: CSS部分: ...

2010-08-10 16:43:32 1 75   jquery
10 curl不适用于#

所以我有这个功能,它发送短信,功能很好,但问题是当我发送#或换行时,该功能无法正常工作! 如果我这样使用它,例如: 它不发送消息,而当我这样使用它时: 它会毫无问题地发送消息! ...

2016-03-10 09:38:13 1 87   php/ curl
暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM