php - 如果 ID 存在于另一个表中,则拉行

标签 php mysql if-statement left-join union-all

我构建此查询是为了从两个表 wp_sshow_sales+tickets 和 live_15 中提取所有数据,它非常适用于此。但我希望它仅在 wp_sshow_sales.saleID 在 wp_sshow_verifys.verifyID 中找到时才从 wp_sshow_sales & tickets 中提取

如您所见,我已尝试使用 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

最佳答案

您的 IF 语句有一个语法 错误,因为您在此之前缺少一个逗号:

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_saleswp_sshow_tickets 中提取,只有在 wp_sshow_verifys 中找到 saleID 时,请使用 INNER JOIN 而不是 LEFT JOIN

有关JOIN 的更多信息,请check this SO question .

关于php - 如果 ID 存在于另一个表中,则拉行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31845957/

相关文章:

php - MySQL 表中的特殊字符无法正确显示

Mysql 高 CPU 使用率甚至优化配置

java - 我的 if 语句是否扰乱了我的菜单?

java - 为什么第一个 if 语句失败?

php - 如何在自己的网站上显示Google Analytic仪表板

php - 更新帖子/行,而不是创建新的

java - 如何获取 JsonArrayRequest JSONArray 对 JSONObject 的响应

php - Mysql 使用 PHP 连接表 - 没有任何运气

bash - 在终端(bash)中粘贴正确的 if 语句(缩进为 '\t' )给出语法错误

php - 如何防止网站中的sql注入(inject)