簡體   English   中英

MySQL:如何在1個條件下從2個不同的表中獲取結果

[英]MySQL: How to get result from 2 different tables with 1 WHERE IN CLAUSE

我有2個具有不同內容的表,由於沒有公共標識符,所以無法聯接表,但是每個表都是1列,具有相同的內容。 我需要從這兩個列中提取內容,並希望從相同的每條記錄中獲取ID。 以下查詢提取了我已經知道/已經擁有的內容,但是我沒有從WHERE IN表中獲取ID。

詢問

SELECT pd.products_id, pd.products_short_description 
FROM products_description pd
WHERE pd.products_short_description IN (SELECT m.manufacturers_ean FROM manufacturers m)

結果

ID | products_short_description
-------------------------------
2  | BMW

這就是我需要的:

ID | products_short_description | ID | manufacturers_ean
--------------------------------------------------------
2  | BMW                        | 285| BMW
SELECT pd.products_id, pd.products_short_description, m.manufacturers_id, m.manufacturers_ean
FROM products_description pd INNER JOIN manufacturers m ON pd.products_short_description = m.manufacturers_ean;

在這種情況下,您可以在內部連接處做什么,因此您也可以從Manufacturers_ean中選擇兩列

SELECT pd.products_id, pd.products_short_description, m.ID m.manufacturers_ean
FROM products_description pd
INNER JOIN manufacturers m on m.manufacturers_ean  = pd.products_short_description 

查詢將是:

 SELECT pd.products_id, pd.products_short_description, m.ID, m.manufacturers_ean
    FROM products_description pd,manufacturers m 
    WHERE m.manufacturers_ean = pd.products_short_description

所有人的答案:完美! 有用! 我在哪里標記為已解決?

暫無
暫無

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

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