簡體   English   中英

我的 sql 查詢有什么問題

[英]What is wrong with my sql query

我正在嘗試從兩個單獨的表中進行選擇,並嘗試通過兩個不同的 id 連接不同的表。

我不斷收到此錯誤:

#1066 - 不是唯一的表/別名:'wp_term_taxonomy'

SELECT  wp_terms.name, 
    wp_terms.slug, 
    wp_ads_categories.seo_description
FROM wp_terms, wp_ads_categories
LEFT JOIN wp_term_taxonomy ON wp_terms.term_id = wp_term_taxonomy.term_id
LEFT JOIN wp_term_taxonomy ON wp_ads_categories.term_id = wp_term_taxonomy.term_id
WHERE wp_term_taxonomy.taxonomy = 'product_cat'

這是一個有效查詢的示例。 它不可能是您想要的查詢,因為,就像您自己的查詢一樣,它基本上是無意義的。 但是在這個階段我們無法知道你真正想要的查詢是什么......

SELECT t.name
     , t.slug
     , c.seo_description
  FROM wp_terms t
 CROSS
  JOIN wp_ads_categories c
  LEFT 
  JOIN wp_term_taxonomy x
    ON x.term_id = t.term_id 
  LEFT 
  JOIN wp_term_taxonomy y
    ON y.term_id = c.term_id 
   AND y.taxonomy = 'product_cat';

該查詢是無意義的,因為通常沒有點 OUTER JOINing 表可以從中選擇任何列。

如果您打算在同一個查詢中多次使用同一個表,則需要創建別名。 您的查詢應該是。

SELECT  wp_terms.name, 
    wp_terms.slug, 
    wp_ads_categories.seo_description
FROM wp_terms, wp_ads_categories
LEFT JOIN wp_term_taxonomy tax1 ON wp_terms.term_id = tax1.term_id
LEFT JOIN wp_term_taxonomy tax2 ON wp_ads_categories.term_id = tax2.term_id
WHERE tax1.taxonomy = 'product_cat'

where 子句也可能是這樣的。 這取決於您希望結果集如何。

WHERE tax2.taxonomy = 'product_cat'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM