我需要幫助已經有一段時間了,但今天我在這裏基本上從你的知識中獲得幫助。我目前很困擾一個非常惱人的SQL問題,這是以下內容。MySQL - 從多個表中選擇,可能沒有連接?
我有兩個表。繪畫和特殊項目。這兩個表都有唯一的列名稱(painteditemid,specialitemid等),但這兩個表共享相似的值。我想從兩個表中獲得結果。
比方說,這是我的設置:
PaintedItems
- paintedItemName
- paintedItemColor
- 可見
SpecialItems
- specialItemName
- specialItemColor
- 可見
我用這個查詢:
SELECT *
FROM `painteditems` AS pa,
`specialitems` AS sp
WHERE (pa.`visible` = 1
OR sp.`visible` = 1)
AND (pa.`painteditemname` = 'itemname1'
OR sp.`specialitemname` = 'itemname1')
AND (pa.`painteditemcolor` = 'black'
OR sp.`specialitemcolor` = 'black')
這導致:
Showing rows 0 - 29 (259,040 total, Query took 39.4352 sec)
即使這兩個表包含總共只有10.000行。添加這個沒做什麼:
GROUP BY pa.`painteditemid`, sp.`specialitemid`
仍然260k行。我應該如何處理這個問題?
預先感謝您。
編輯:固定的間距,代碼塊
你想要什麼數據?我猜你正在找'UNION'? – hank
做你的表中定義的索引? – 2013-01-31 15:54:56