gpt4 book ai didi

mysql - WHERE 子句(多个表)

转载 作者:行者123 更新时间:2023-11-29 17:46:11 25 4
gpt4 key购买 nike

我正在开发一个项目,并试图从数据库获取返回值。我是网页设计和 ASP.net 的新手,所以我不太清楚如何表达我的问题,但我会尽力解释它。我有一个返回authorID 的下拉列表,我正在尝试使用它在屏幕上显示信息。

这里是我正在使用的所有表格(第一行是表格的标题,数据名称下方的点带有 * 并在 select 语句中的点旁边以帮助可视化)

Authors:
authorID
* firstName
* lastName

AuthorISBN:
ISBN
authorID

Titles:
* ISBN
* title
* editionNumber
description
publisherID
copyright
imageFile
* price


Publishers:
publisherID
* publisherName

这是迄今为止我在 SELECT 语句中得到的结果。

SELECT  Authors.firstName, Authors.lastName, Titles.ISBN, Titles.title, 
Publishers.publisherName, Titles.price, Titles.editionNumber

FROM (((Authors INNER JOIN AuthorISBN ON Authors.authorID =
AuthorISBN.authorID) INNER JOIN Titles ON AuthorISBN.ISBN =
Titles.ISBN) INNER JOIN Publishers ON Titles.publisherID =
Publishers.publisherID)

现在在之前的一个项目中,我使用了与此类似的问题(但只有一个表)

WHERE (CategoryID = @CategoryID)

然后asp.net弹出另一个窗口让我选择输入源;但通过这个分配,它无法编译

WHERE (authorID = @authorID)

因为authorID在多个表中。我不知道语法如何或确切地如何工作来完成我想要做的事情。如果相关,则下拉列表 ID 为 ddlAuthors,并且它从 Authors 表返回值authorID。

感谢所有花时间阅读或回复的人。

最佳答案

由于有几个表具有相同的列,因此应用此过滤器的表存在歧义。

要解决此问题,您可以指定表名.列名来消除这种歧义。

在您的情况下,如果这是您想要应用过滤器的表,请使用 Authors.authorid = @authorid

关于mysql - WHERE 子句(多个表),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49809064/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com