我有2個表,見下面 - 型材是我的主要/主表MySQL的搜索2代表與重疊
profiles invoices
____________ ___________________
|id Name | |profileid paid |
|============| |===================|
|1 Abraham | | 2 unpaid |
|2 Martin | | 3 unpaid |
|3 John | | 3 paid |
|____________| |___________________|
如可以看到的,亞伯拉罕具有0發票,馬丁1張未付帳單,和John有2張發票; 1付,1未付。
我要搜索:
- 所有支付的發票型材(約翰)
- 所有未付發票型材(約翰&馬丁)
- 所有有償和無償發票型材(S )(約翰)
我可以做圖1和2細,但具有與第3步
一個問題IM 210這裏是我的查詢1;
$query = "SELECT DISTINCT profiles.name
FROM profiles LEFT JOIN invoices ON (profiles.id=invoices.profileid)
AND (invoices.paid='paid' OR invoices.paid='unpaid')
WHERE
IFNULL(invoices.paid, '') LIKE 'paid';
這裏是我的查詢2;
$query = "SELECT DISTINCT profiles.name
FROM profiles LEFT JOIN invoices ON (profiles.id=invoices.profileid)
AND (invoices.paid='paid' OR invoices.paid='unpaid')
WHERE
IFNULL(invoices.paid, '') LIKE 'unpaid';
這裏是我的查詢3;
$query = "SELECT DISTINCT profiles.name
FROM profiles LEFT JOIN invoices ON (profiles.id=invoices.profileid)
AND (invoices.paid='paid' OR invoices.paid='unpaid')
WHERE
IFNULL(invoices.paid, '') LIKE 'paid'
AND IFNULL(invoices.paid, '') LIKE 'unpaid'
;
如上所述,1 & 2工作正常,但3給我0結果。 任何幫助,非常感謝。謝謝
由於您希望從發票表中獲取多個維度,因此您希望在最後一條語句中使用右連接嗎? – Scuzzy
不,RIGHT加入會(並且只會)給我所有具有發票的配置文件,它不會考慮那些沒有任何發票的配置文件。即,如果我只是選擇所有配置文件;它只會給我馬丁&約翰 – Lan