0
SELECT n.nid, n.title, c.field_news_date_value, 
       c.field_news_short_text_value, c.field_news_short_text_format 
FROM node n, term_data m,  term_node p 
INNER JOIN content_type_news c 
   ON c.nid = n.nid AND c.vid = n.vid 
WHERE n.type='news' AND n.status=1 
ORDER BY c.field_news_date_value DESC.

エラーが発生します

「on 句」の列「n.nid」が不明です。

4

3 に答える 3

1

クエリはこのようでなければならないと思います。nid(列、名前、およびvid両方のテーブルが必要であると仮定します)

注 : use multiple table inFROM句を使用しているときに使用するのはあいまいですJOIN

SELECT n.nid, n.title, c.field_news_date_value, 
       c.field_news_short_text_value, c.field_news_short_text_format 
FROM node n
INNER JOIN content_type_news c 
ON c.nid = n.nid AND c.vid = n.vid 
WHERE n.type='news' AND n.status=1 
ORDER BY c.field_news_date_value DESC.
于 2012-09-06T05:21:21.977 に答える
0

これを試して:

SELECT n.nid, n.title, c.field_news_date_value, c.field_news_short_text_value, c.field_news_short_text_format 
FROM term_data m, term_node p, node n INNER JOIN content_type_news c 
ON c.nid = n.nid AND c.vid = n.vid 
WHERE n.type='news' AND n.status=1 
ORDER BY c.field_news_date_value DESC

基本的に、オペレーターnode nの近くに移動しました。INNER JOIN

于 2012-09-06T05:14:26.603 に答える
0

ASクエリで使用する必要があります。次のクエリを使用してください。

SELECT 
 n.nid, n.title, 
 c.field_news_date_value, 
 c.field_news_short_text_value, 
 c.field_news_short_text_format 
FROM 
 node as n, term_data as m,  term_node as p 
INNER JOIN 
 content_type_news c ON c.nid = n.nid AND c.vid = n.vid 
WHERE 
 n.type='news' 
 AND n.status=1 
ORDER BY 
 c.field_news_date_value DESC
于 2012-09-06T05:16:59.993 に答える