如果 ID 存在于另一个表中,则拉行
Posted
技术标签:
【中文标题】如果 ID 存在于另一个表中,则拉行【英文标题】:pull row if ID exists in another table 【发布时间】:2015-08-06 02:40:24 【问题描述】:我构建了这个查询来从两个表 wp_sshow_sales+tickets 和 live_15 中提取所有数据,它非常适合。但如果 wp_sshow_sales.saleID 在 wp_sshow_verifys.verifyID 中找到,我希望它只从 wp_sshow_sales 和门票中提取
如您所见,我尝试过使用 IF 和 LEFT JOIN,但我无法解决这个问题。我在该 IF 语句的某处遇到错误。
SELECT
wp_sshow_sales.saleFirstName as first,
wp_sshow_sales.saleLastName as last,
wp_sshow_sales.saleEMail as email,
wp_sshow_sales.salePPStreet as street,
wp_sshow_sales.salePPCity as city,
wp_sshow_sales.salePPState as state,
wp_sshow_sales.salePPZip as zip,
wp_sshow_tickets.ticketQty as qty
IF (wp_sshow_verifys.verifyID IS NULL,TRUE,FALSE) verify
FROM wp_sshow_sales, wp_sshow_tickets
WHERE wp_sshow_sales.saleID = wp_sshow_tickets.saleID
LEFT JOIN verify ON wp_sshow_sales.saleID = wp_sshow_verifys.verifyID
UNION ALL
SELECT
live_15.firstname as first,
live_15.lastname as last,
live_15.email as email,
live_15.street as street,
live_15.city as city,
live_15.state as state,
live_15.zip as zip,
live_15.qty as qty
FROM live_15
ORDER BY $order ASC
【问题讨论】:
我相信我的 ON 语句还有另一个问题...我不断收到 #1054 - Unknown column 'wp_sshow_sales.saleID' in 'on Clause' 我看不出我在哪里弄乱了那个起来。 【参考方案1】:您的IF
语句中有一个syntax
错误,因为在此之前您缺少comma
:
SELECT
wp_sshow_sales.saleFirstName as first,
...
wp_sshow_tickets.ticketQty as qty, <-----
IF (wp_sshow_verifys.verifyID IS NULL,TRUE,FALSE) verify
FROM wp_sshow_sales, wp_sshow_tickets
WHERE wp_sshow_sales.saleID = wp_sshow_tickets.saleID
LEFT JOIN verify ON wp_sshow_sales.saleID = wp_sshow_verifys.verifyID
我猜你的WHERE
子句也会有错误,应该写在JOIN
语句之后。
如果你想从wp_sshow_sales
和wp_sshow_tickets
中提取,只有在wp_sshow_verifys
中找到saleID
,请使用INNER JOIN
而不是LEFT JOIN
。
有关JOIN
的更多信息,请check this SO question。
【讨论】:
您还需要切换WHERE
和 LEFT JOIN
子句。它应该看起来像:FROM ... LEFT JOIN table ON ... WHERE ...
以上是关于如果 ID 存在于另一个表中,则拉行的主要内容,如果未能解决你的问题,请参考以下文章