[英]MySql condition based join query
我有兩張桌子。 這些表有幾個匹配的字段。 我想用兩個條件來獲取它們。
第一個是 if a.site_id = b.site_id
,因為這是我們的外鍵。
其次是a.Show_Link_back=b.Show_Link_back=1
。
下面是我當前的查詢,但是通過這個查詢,我沒有得到正確的數據,比如第一個表 (a) 沒有響應 data 。
這是表的結構
第一個表字段:
第二個表字段
我想建立一個關系,site_id 是否是外鍵,兩個表的 Show_Link_back 值是否為 1?
當前查詢
SELECT a.site_id, a.Link_back_Image_URL, a.Link_back_Title,
a.Link_back_Description, a.Link_back_URL, a.Show_Link_back,
b.Link_back_Image_URL, b.Link_back_Title,
b.Link_back_Description, b.Link_back_URL
FROM download_site a, product_listing b
WHERE a.site_id = b.site_id
AND (a.Show_Link_back=1 or b.Show_Link_back=1)
這是兩個表的小查詢
CREATE TABLE table1
(`site_id` int(10), `Link_back_Image_URL` varchar(55),
`Link_back_Title` varchar(55),`Link_back_Description` varchar(55),
`Link_back_URL` varchar(55),`Show_Link_back` int(2));
INSERT INTO table1
(`site_id`, `Link_back_Image_URL`, `Link_back_Title`,
`Link_back_Description`,`Link_back_URL`,`Show_Link_back`)
VALUES
(1, 'test', 'test_title','test_desc','test_url','1'),
(2, 'test', 'test_title','test_desc','test_url','0'),
(3, 'test', 'test_title','test_desc','test_url','1');
CREATE TABLE table2
(`site_id` int(10), `Link_back_Image_URL` varchar(55),
`Link_back_Title` varchar(55),`Link_back_Description` varchar(55),
`Link_back_URL` varchar(55),`Show_Link_back` int(2));
INSERT INTO table2
(`site_id`, `Link_back_Image_URL`, `Link_back_Title`,
`Link_back_Description`,`Link_back_URL`,`Show_Link_back`)
VALUES
(1, 'test', 'test_title','test_desc','test_url','1'),
(2, 'test', 'test_title','test_desc','test_url','0'),
(3, 'test', 'test_title','test_desc','test_url','1');
在我看來很好。 3 行中有 2 行返回
SELECT a.site_id,a.Show_Link_back as ASLB,b.Show_Link_back as BSLB,
a.Link_back_Image_URL, a.Link_back_Title,a.Link_back_Description,a.Link_back_URL, b.Link_back_Image_URL,b.Link_back_Title,b.Link_back_Description,b.Link_back_URL
FROM table1 a
join table2 b
on a.site_id=b.site_id
where a.Show_Link_back=1 and b.Show_Link_back=1
+---------+------+------+---------------------+-----------------+-----------------------+---------------+---------------------+-----------------+-----------------------+---------------+
| site_id | ASLB | BSLB | Link_back_Image_URL | Link_back_Title | Link_back_Description | Link_back_URL | Link_back_Image_URL | Link_back_Title | Link_back_Description | Link_back_URL |
+---------+------+------+---------------------+-----------------+-----------------------+---------------+---------------------+-----------------+-----------------------+---------------+
| 1 | 1 | 1 | test | test_title | test_desc | test_url | test | test_title | test_desc | test_url |
| 3 | 1 | 1 | test | test_title | test_desc | test_url | test | test_title | test_desc | test_url |
+---------+------+------+---------------------+-----------------+-----------------------+---------------+---------------------+-----------------+-----------------------+---------------+
請注意第 2 列和第 3 列中使用的別名,以了解這一切。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.