Php #1054-未知列';作战需求文件';在';字段列表';

Php #1054-未知列';作战需求文件';在';字段列表';,php,mysql,Php,Mysql,我正在使用mySQL 我在尝试向SQL查询添加参数时出错,该查询应该对我的结果进行排序: 1054-字段列表中的未知列“ord” 看起来您正在设置一些订购号,它需要如下所示 SELECT tkt.* , 0 as ord FROM tkts_follows AS t2f JOIN tkts_topics AS tkt ON t2f.tktID = tkt.id AND t2f.type = 'pin' AND t2f.userID = 1 UNION ALL SELECT * , 1 a

我正在使用mySQL

我在尝试向SQL查询添加参数时出错,该查询应该对我的结果进行排序:

1054-字段列表中的未知列“ord”
看起来您正在设置一些订购号,它需要如下所示

SELECT tkt.* , 0 as ord
FROM tkts_follows AS t2f 
JOIN tkts_topics AS tkt ON t2f.tktID = tkt.id 
AND t2f.type = 'pin'
AND t2f.userID = 1 
UNION ALL 
SELECT * , 1 as ord 
FROM tkts_topics AS tkt
WHERE  1=1  AND NOT EXISTS (
SELECT 1 
FROM tkts_follows AS t2f 
WHERE t2f.tktID = tkt.id AND t2f.type = 'pin' AND t2f.userID = 1
) 
ORDER BY ord, last_update DESC LIMIT 0, 10

它应该是“0作为ord”或“1作为ord”。另外,在对UNION ALL进行排序时,我建议将所有内容都放在子查询中并对结果进行排序,因为对UNION进行排序会得到意外的结果

SELECT
    *
FROM (
    SELECT
        tkt.*
        , 0 AS ord
    FROM tkts_follows AS t2f 
        JOIN tkts_topics AS tkt ON t2f.tktID = tkt.id
            AND t2f.type = 'pin'
            AND t2f.userID = 1
    UNION ALL 
    SELECT
        *
        , 1 AS ord
    FROM tkts_topics AS tkt
    WHERE  (1=1)
        AND NOT EXISTS (
            SELECT * 
            FROM tkts_follows AS t2f 
            WHERE t2f.tktID = tkt.id
                AND t2f.type = 'pin'
                AND t2f.userID = 1
        ) 
) AS UNIONS
ORDER BY ord, last_update DESC
LIMIT 0, 10

我用来对结果排序的select?new参数中的
ord=0
是什么-@AbhikChakraborty“参数”在什么意义上
SELECT
    *
FROM (
    SELECT
        tkt.*
        , 0 AS ord
    FROM tkts_follows AS t2f 
        JOIN tkts_topics AS tkt ON t2f.tktID = tkt.id
            AND t2f.type = 'pin'
            AND t2f.userID = 1
    UNION ALL 
    SELECT
        *
        , 1 AS ord
    FROM tkts_topics AS tkt
    WHERE  (1=1)
        AND NOT EXISTS (
            SELECT * 
            FROM tkts_follows AS t2f 
            WHERE t2f.tktID = tkt.id
                AND t2f.type = 'pin'
                AND t2f.userID = 1
        ) 
) AS UNIONS
ORDER BY ord, last_update DESC
LIMIT 0, 10