サイト呼び出しイメージと監査にアップロードされるイメージに関する情報を格納する 2 つのテーブルがあります。イメージがアップロードされると、そのパスは image.imageLocation に格納され、監査に使用されると、auditID が同じテーブルに保存されます。auditID は、テーブルを結合するために使用される値です。
audit.dateStart である監査が行われた日付を使用して、イメージが使用された最新の監査を教えてくれるクエリを作成しようとしています。
私がこれまでに持っているクエリは...
SELECT * FROM (
SELECT image.imageID AS newest_image, image.userID AS image_userID,
image.auditID as image_auditID, image.type AS image_type,
image.imageLocation AS location
from image
) image
LEFT JOIN audit ON image_auditID = audit.auditID
WHERE image_userID = '$id' AND image_type = 'standard'
AND dateStart = MAX(dateStart)
GROUP by location
これにより、GROUP の不適切な使用を示すエラーがスローされます。
どんな助けでもありがたく受け取られます
これがテーブル構造です
audit
auditID varchar(255)
userID int(11)
dateStart date
dateEnd date
auditName varchar
auditDesc varchar
imagesUploaded tinyint
actionPlan varchar
auditComplete tinyint
dateComplete datetime
image
imageID int(10)
name varchar(255)
auditID varchar(255)
imageGrade int(1)
exposure varchar(255)
positioning varchar(255)
patient varchar(255)
equipment varchar(255)
positioningReason varchar(255)
exposureReason varchar(255)
patientReason varchar(255)
comment varchar(255)
auditDate datetime
imageLocation varchar(255)
thumbnail text
xrayType varchar(10)
type varchar(255)
userID int(11)
Some sample data
imageID = 563
name = standard_16.jpg
auditID = 1360318160843025059
imageLocation = upload/2/standards/standard_16.jpg
type = standard
userID = 2
imageID = 565
name = standard_18.jpg
auditID = 1360318160843025059
imageLocation = upload/2/standards/standard_18.jpg
type = standard
userID = 2
imageID = 566
name = standard_18.jpg
auditID = 13603248241777655575
imageLocation = upload/2/standards/standard_18.jpg
type = standard
userID = 2
auditID = 1360318160843025059
userID = 2
dateStart = 2013-02-14
auditID = 13603248241777655575
userID = 2
dateStart = 2013-02-09
ご覧のとおり、同じイメージを複数の監査に使用できます。イメージを最後に使用した監査を知りたいのですが、この場合、結果は auditID 1360318160843025059 になります。