0

テーブル 1 (レポート) からすべての結果を取得し、他の 2 つのテーブル (ユーザー) と (作業指示書) を結合しようとしています。

レポートにはユーザーと作業指示書に関連するキーがありますが、それらは csv 値で保存されます。この疑似コードに似たものを実行しようとしています

`SELECT * 
FROM reports 
LEFT JOIN users ON reports = (WHERE users.userID IN (reports.users))
LEFT JOIN workorders ON reports = (WHERE workorder.status IN (reports.filters) 
AND reports.reportid = 10
`

reports.users と reports.filters は「1,2,3,4,5,6」のようになります

4

1 に答える 1

1

私が正しく理解していれば ( と がカンマ区切りの値の文字列であることを意味しreports.usersます)、このための関数reports.filtersが必要です:FIND_IN_SET

SELECT * from reports 
LEFT JOIN users ON FIND_IN_SET(users.userID, reports.users)
LEFT JOIN workorders ON FIND_IN_SET(workorder.status, reports.filters) 
  AND reports.reportid = 10
于 2013-06-06T18:12:08.200 に答える